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

MagickBooleanType ImageToFile(Image *image,char *filename,ExceptionInfo *exception)

{
  ssize_t sVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int *piVar6;
  MagickBooleanType MVar7;
  undefined4 *puVar8;
  undefined4 uVar9;
  byte *pbVar10;
  MagickBooleanType *pMVar11;
  undefined *puVar12;
  undefined4 uVar13;
  uint uVar14;
  undefined *puVar15;
  code *pcVar16;
  code *pcVar17;
  uint uVar18;
  int iStack_164;
  int iStack_12c;
  uint local_e8;
  ssize_t count;
  stat file_stats;
  
  puVar15 = PTR___stack_chk_guard_003a9230;
  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;
  if (image == (Image *)0x0) goto LAB_0004697c;
  if (image->signature == 0xabacadab) {
    puVar12 = PTR_LAB_003a88e0;
    if (image->blob == (BlobInfo *)0x0) {
LAB_0004692c:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);
      goto LAB_0004694c;
    }
    pcVar16 = (code *)PTR___assert_fail_003a9608;
    if (image->blob->type == UndefinedStream) {
LAB_00046910:
      puVar12 = puVar12 + 0x24e0;
      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);
      goto LAB_0004692c;
    }
    if (image->debug != MagickFalse) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);
    }
    if (filename == (char *)0x0) {
      puVar12 = PTR_LAB_003a88e0 + 0x24e0;
      pcVar16 = (code *)PTR___assert_fail_003a9608;
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);
      goto LAB_00046910;
    }
    if (*filename == '\0') {
      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);
LAB_00046558:
      if (iVar3 != -1) goto LAB_00046564;
LAB_00046774:
      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);
      uVar13 = 0x924;
LAB_000466b4:
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);
      (*(code *)PTR_DestroyString_003a9074)(uVar9);
      MVar7 = MagickFalse;
    }
    else {
      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);
      if (iVar3 != 0) {
        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);
        goto LAB_00046558;
      }
      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);
      if (iVar3 == -1) goto LAB_00046774;
LAB_00046564:
      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);
      if (((iVar4 == 0) &&
          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +
           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {
        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);
        uVar14 = file_stats.st_size._4_4_;
      }
      else {
        uVar14 = 0x14000;
        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);
      }
      if (iVar4 != 0) {
        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);
        if (count < 1) {
          local_e8 = 0;
          uVar18 = 0;
LAB_00046650:
          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);
          if (iVar5 != 0) goto LAB_00046860;
LAB_0004666c:
          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);
LAB_00046680:
          MVar7 = MagickTrue;
          if (local_e8 <= uVar18) goto LAB_00046710;
        }
        else {
          do {
            sVar1 = count;
            uVar18 = 0;
            local_e8 = count;
            do {
              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);
              if (count < 1) {
                count = 0;
                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();
                if (*piVar6 != 4) goto LAB_00046650;
              }
              else {
                uVar18 = uVar18 + count;
              }
            } while (uVar18 < (uint)sVar1);
            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);
          } while (0 < count);
          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);
          if (iVar5 == 0) goto LAB_0004666c;
LAB_00046860:
          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);
          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);
          if (iVar3 != -1) goto LAB_00046680;
        }
        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);
        uVar13 = 0x94a;
        goto LAB_000466b4;
      }
      (*(code *)PTR_close_003a915c)(iVar3);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);
      MVar7 = MagickFalse;
    }
LAB_00046710:
    if (iVar2 == *(int *)puVar15) {
      return MVar7;
    }
  }
  else {
LAB_0004694c:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,
               0x915,PTR_LAB_003a88e0 + 0x24e0);
  }
  (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_0004697c:
  puVar12 = PTR_LAB_003a88e0 + 0xdd0;
  puVar15 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)
            (puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);
  piVar6 = *(int **)(puVar15 + 0x362890);
  iVar2 = *piVar6;
  if (puVar12 == (undefined *)0x0) {
    MVar7 = (**(code **)(puVar15 + 0x362c68))
                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,
                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);
    return MVar7;
  }
  iVar3 = *(int *)(puVar15 + 0x361f40);
  if (*(int *)(puVar12 + 0x336c) != -0x54535255) {
    MVar7 = (**(code **)(puVar15 + 0x362c68))
                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,
                       0xf82,iVar3 + 0x2398);
    return MVar7;
  }
  iVar4 = *(int *)(puVar12 + 0x3348);
  if (iVar4 == 0) {
    MVar7 = (**(code **)(puVar15 + 0x362c68))
                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,
                       0xf83,iVar3 + 0x2398);
    return MVar7;
  }
  if (*(int *)(iVar4 + 0x40) != 0) {
    if (*(int *)(iVar4 + 0x40) - 1U < 3) {
      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));
      if (MVar7 != ~MagickFalse) {
        MVar7 = MVar7 & 0xff;
      }
    }
    else {
      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();
      if (iStack_12c == 1) {
        MVar7 = (MagickBooleanType)*pbVar10;
      }
      else {
        MVar7 = ~MagickFalse;
      }
    }
    if (iVar2 == *piVar6) {
      return MVar7;
    }
    pcVar16 = *(code **)(puVar15 + 0x3626c4);
    (*pcVar16)();
    piVar6 = *(int **)(pcVar16 + 0x362738);
    iVar3 = *piVar6;
    if (iVar2 != 0) {
      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {
        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();
        if (iStack_164 == 4) {
          MVar7 = *pMVar11;
          if (*(int *)(iVar2 + 0x25c) == 1) {
            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +
                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;
          }
        }
        else {
          MVar7 = MagickFalse;
        }
        if (iVar3 == *piVar6) {
          return MVar7;
        }
        (**(code **)(pcVar16 + 0x36256c))();
      }
      (**(code **)(pcVar16 + 0x362b10))
                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018
                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);
    }
    pcVar17 = *(code **)(pcVar16 + 0x362b10);
    (*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,
               *(int *)(pcVar16 + 0x361de8) + 0x2388);
    MVar7 = (**(code **)(pcVar17 + 0x362030))();
    return MVar7;
  }
  MVar7 = (**(code **)(puVar15 + 0x362c68))
                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,
                     0xf84,iVar3 + 0x2398);
  return MVar7;
}



uint ImageToFile(int param_1,char *param_2,undefined4 param_3)

{
  uint uVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  uint uVar6;
  undefined4 *puVar7;
  undefined4 uVar8;
  byte *pbVar9;
  uint *puVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  code *pcVar14;
  uint uVar15;
  int iStack_164;
  int iStack_12c;
  uint local_e8;
  uint local_d4;
  undefined1 auStack_d0 [56];
  int local_98;
  uint local_94;
  int local_2c;
  
  puVar13 = PTR___stack_chk_guard_003a9230;
  local_2c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) goto LAB_0004697c;
  if (*(int *)(param_1 + 0x336c) == -0x54535255) {
    puVar11 = PTR_LAB_003a88e0;
    if (*(int *)(param_1 + 0x3348) == 0) {
LAB_0004692c:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);
      goto LAB_0004694c;
    }
    pcVar14 = (code *)PTR___assert_fail_003a9608;
    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {
LAB_00046910:
      puVar11 = puVar11 + 0x24e0;
      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);
      goto LAB_0004692c;
    }
    if (*(int *)(param_1 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);
    }
    if (param_2 == (char *)0x0) {
      puVar11 = PTR_LAB_003a88e0 + 0x24e0;
      pcVar14 = (code *)PTR___assert_fail_003a9608;
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);
      goto LAB_00046910;
    }
    if (*param_2 == '\0') {
      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);
LAB_00046558:
      if (iVar2 != -1) goto LAB_00046564;
LAB_00046774:
      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);
      uVar12 = 0x924;
LAB_000466b4:
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);
      (*(code *)PTR_DestroyString_003a9074)(uVar8);
      uVar6 = 0;
    }
    else {
      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);
      if (iVar2 != 0) {
        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);
        goto LAB_00046558;
      }
      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);
      if (iVar2 == -1) goto LAB_00046774;
LAB_00046564:
      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);
      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&
         (local_94 - 1 < 0x13fff)) {
        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);
        uVar6 = local_94;
      }
      else {
        uVar6 = 0x14000;
        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);
      }
      if (iVar3 != 0) {
        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);
        if ((int)local_d4 < 1) {
          local_e8 = 0;
          uVar15 = 0;
LAB_00046650:
          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);
          if (iVar4 != 0) goto LAB_00046860;
LAB_0004666c:
          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);
LAB_00046680:
          uVar6 = 1;
          if (local_e8 <= uVar15) goto LAB_00046710;
        }
        else {
          do {
            uVar1 = local_d4;
            uVar15 = 0;
            local_e8 = local_d4;
            do {
              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);
              if ((int)local_d4 < 1) {
                local_d4 = 0;
                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();
                if (*piVar5 != 4) goto LAB_00046650;
              }
              else {
                uVar15 = uVar15 + local_d4;
              }
            } while (uVar15 < uVar1);
            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);
          } while (0 < (int)local_d4);
          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);
          if (iVar4 == 0) goto LAB_0004666c;
LAB_00046860:
          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);
          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);
          if (iVar2 != -1) goto LAB_00046680;
        }
        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);
        uVar12 = 0x94a;
        goto LAB_000466b4;
      }
      (*(code *)PTR_close_003a915c)(iVar2);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);
      uVar6 = 0;
    }
LAB_00046710:
    if (local_2c == *(int *)puVar13) {
      return uVar6;
    }
  }
  else {
LAB_0004694c:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,
               0x915,PTR_LAB_003a88e0 + 0x24e0);
  }
  (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_0004697c:
  puVar11 = PTR_LAB_003a88e0 + 0xdd0;
  puVar13 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)
            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);
  piVar5 = *(int **)(puVar13 + 0x362890);
  iVar2 = *piVar5;
  if (puVar11 == (undefined *)0x0) {
    uVar6 = (**(code **)(puVar13 + 0x362c68))
                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);
    return uVar6;
  }
  iVar3 = *(int *)(puVar13 + 0x361f40);
  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {
    uVar6 = (**(code **)(puVar13 + 0x362c68))
                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                       0xf82,iVar3 + 0x2398);
    return uVar6;
  }
  iVar4 = *(int *)(puVar11 + 0x3348);
  if (iVar4 == 0) {
    uVar6 = (**(code **)(puVar13 + 0x362c68))
                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                       0xf83,iVar3 + 0x2398);
    return uVar6;
  }
  if (*(int *)(iVar4 + 0x40) != 0) {
    if (*(int *)(iVar4 + 0x40) - 1U < 3) {
      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));
      if (uVar6 != 0xffffffff) {
        uVar6 = uVar6 & 0xff;
      }
    }
    else {
      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();
      if (iStack_12c == 1) {
        uVar6 = (uint)*pbVar9;
      }
      else {
        uVar6 = 0xffffffff;
      }
    }
    if (iVar2 == *piVar5) {
      return uVar6;
    }
    pcVar14 = *(code **)(puVar13 + 0x3626c4);
    (*pcVar14)();
    piVar5 = *(int **)(pcVar14 + 0x362738);
    iVar3 = *piVar5;
    if (iVar2 == 0) {
      uVar6 = (**(code **)(pcVar14 + 0x362b10))
                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,
                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);
      return uVar6;
    }
    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {
      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();
      if (iStack_164 == 4) {
        uVar6 = *puVar10;
        if (*(int *)(iVar2 + 0x25c) == 1) {
          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
        }
      }
      else {
        uVar6 = 0;
      }
      if (iVar3 == *piVar5) {
        return uVar6;
      }
      (**(code **)(pcVar14 + 0x36256c))();
    }
    uVar6 = (**(code **)(pcVar14 + 0x362b10))
                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,
                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);
    return uVar6;
  }
  uVar6 = (**(code **)(puVar13 + 0x362c68))
                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                     0xf84,iVar3 + 0x2398);
  return uVar6;
}


lui gp,0x37
addiu gp,gp,-0x5bd4
addu gp,gp,t9
lw v0,-0x7680(gp)
addiu sp,sp,-0x118
sw v0,0x38(sp)
sw gp,0x28(sp)
sw ra,0x114(sp)
sw s8,0x110(sp)
sw s7,0x10c(sp)
sw s6,0x108(sp)
sw s5,0x104(sp)
sw s4,0x100(sp)
sw s3,0xfc(sp)
sw s2,0xf8(sp)
sw s1,0xf4(sp)
sw s0,0xf0(sp)
sw a2,0x3c(sp)
lw v0,0x0(v0)
sw v0,0xec(sp)
beq a0,zero,0x0004697c
_lui v0,0xabac
lw v1,0x336c(a0)
ori v0,v0,0xadab
bne v1,v0,0x0004694c
_or s4,a0,zero
lw v0,0x3348(a0)
beq v0,zero,0x0004692c
_lw a3,-0x7fd0(gp)
lw v0,0x40(v0)
beq v0,zero,0x00046910
_lw t9,-0x72a8(gp)
lw v0,0x3350(a0)
bne v0,zero,0x000468ac
_or s6,a1,zero
beq s6,zero,0x000468f0
_lw a3,-0x7fd0(gp)
lb v0,0x0(s6)
beq v0,zero,0x00046894
_lw a1,-0x7fc4(gp)
or a0,s6,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0x7ac
beq v0,zero,0x00046750
_lw gp,0x28(sp)
lw t9,-0x7aa8(gp)
li a2,0x180
li a1,0x502
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
or s2,v0,zero
li v0,-0x1
beq s2,v0,0x00046774
_lw t9,-0x6f00(gp)
lw t9,-0x7a08(gp)
addiu a2,sp,0x48
li a0,0x3
jalr t9
_or a1,s2,zero
bne v0,zero,0x0004679c
_lw gp,0x28(sp)
lw s5,0x84(sp)
lw v0,0x80(sp)
addiu a0,s5,-0x1
addiu v1,v0,-0x1
sltu v0,a0,s5
addu v0,v0,v1
bne v0,zero,0x0004679c
_lui v0,0x1
addiu v0,v0,0x3fff
sltu a0,a0,v0
beq a0,zero,0x0004679c
_lw t9,-0x73a4(gp)
li a1,0x1
jalr t9
_or a0,s5,zero
lw gp,0x28(sp)
beq v0,zero,0x000467c0
_or s7,v0,zero
lw t9,-0x7818(gp)
addiu v0,sp,0x44
or a2,s7,zero
sw v0,0x34(sp)
or a3,v0,zero
or a1,s5,zero
jalr t9
_or a0,s4,zero
lw s0,0x44(sp)
or s1,v0,zero
blez s0,0x000468e4
_lw gp,0x28(sp)
li s3,0x4
or s8,zero,zero
b 0x0004661c
_sw s0,0x30(sp)
addu s8,s8,v0
sw v0,0x44(sp)
sltu v0,s8,s0
beq v0,zero,0x00046820
_lw t9,-0x7818(gp)
lw t9,-0x7178(gp)
subu a2,s0,s8
addu a1,s1,s8
jalr t9
_or a0,s2,zero
bgtz v0,0x00046608
_lw gp,0x28(sp)
lw t9,-0x6f00(gp)
jalr t9
_sw zero,0x44(sp)
lw v0,0x0(v0)
beq v0,s3,0x00046610
_lw gp,0x28(sp)
lw a1,-0x7fc4(gp)
or a0,s6,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0x7ac
bne v0,zero,0x00046860
_lw gp,0x28(sp)
lw t9,-0x78f0(gp)
jalr t9
_or a0,s7,zero
lw gp,0x28(sp)
lw v0,0x30(sp)
sltu v1,s8,v0
beq v1,zero,0x00046710
_li v0,0x1
lw t9,-0x6f00(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
li a3,0x94a
lw gp,0x28(sp)
or s0,v0,zero
lw v0,-0x7fd0(gp)
lw a2,-0x7fd0(gp)
lw a1,-0x7fd0(gp)
addiu v0,v0,0xe78
lw t9,-0x7990(gp)
lw a0,0x3c(sp)
addiu a2,a2,0x24d4
sw v0,0x18(sp)
addiu a1,a1,0x1ad8
lw v0,-0x7fd0(gp)
sw s0,0x20(sp)
sw s6,0x1c(sp)
addiu v0,v0,0x1ba4
sw v0,0x14(sp)
li v0,0x1b3
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
lw t9,-0x783c(gp)
jalr t9
_or a0,s0,zero
or v0,zero,zero
lw gp,0x28(sp)
lw v1,0x38(sp)
lw a0,0xec(sp)
lw v1,0x0(v1)
bne a0,v1,0x00046970
_lw ra,0x114(sp)
lw s8,0x110(sp)
lw s7,0x10c(sp)
lw s6,0x108(sp)
lw s5,0x104(sp)
lw s4,0x100(sp)
lw s3,0xfc(sp)
lw s2,0xf8(sp)
lw s1,0xf4(sp)
lw s0,0xf0(sp)
jr ra
_addiu sp,sp,0x118
lw v0,-0x79cc(gp)
lw t9,-0x6ee4(gp)
jalr t9
_lw a0,0x0(v0)
or s2,v0,zero
li v0,-0x1
bne s2,v0,0x00046564
_lw gp,0x28(sp)
lw t9,-0x6f00(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw t9,-0x74c4(gp)
jalr t9
_lw a0,0x0(v0)
li a3,0x924
lw gp,0x28(sp)
b 0x000466b4
_or s0,v0,zero
lui s5,0x1
lw t9,-0x73a4(gp)
li a1,0x1
addiu s5,s5,0x4000
jalr t9
_or a0,s5,zero
lw gp,0x28(sp)
bne v0,zero,0x000465c8
_or s7,v0,zero
lw t9,-0x7754(gp)
jalr t9
_or a0,s2,zero
li a3,0x92e
lw gp,0x28(sp)
lw a0,0x3c(sp)
sw s6,0x1c(sp)
lw v0,-0x7fd0(gp)
lw a2,-0x7fd0(gp)
lw a1,-0x7fd0(gp)
addiu v0,v0,0x3e28
lw t9,-0x7990(gp)
addiu a2,a2,0x24d4
sw v0,0x18(sp)
addiu a1,a1,0x1ad8
lw v0,-0x7fd0(gp)
addiu v0,v0,0x1c2c
sw v0,0x14(sp)
li v0,0x190
jalr t9
_sw v0,0x10(sp)
or v0,zero,zero
b 0x00046710
_lw gp,0x28(sp)
or a2,s7,zero
lw a3,0x34(sp)
or a1,s5,zero
jalr t9
_or a0,s4,zero
lw s0,0x44(sp)
or s1,v0,zero
bgtz s0,0x000465fc
_lw gp,0x28(sp)
lw a1,-0x7fc4(gp)
or a0,s6,zero
lw t9,-0x77a0(gp)
jalr t9
_addiu a1,a1,-0x7ac
beq v0,zero,0x0004666c
_lw gp,0x28(sp)
lw t9,-0x7754(gp)
jalr t9
_or a0,s2,zero
or a0,s7,zero
lw gp,0x28(sp)
lw t9,-0x78f0(gp)
jalr t9
_or s0,v0,zero
li v0,-0x1
beq s0,v0,0x0004668c
_lw gp,0x28(sp)
b 0x00046680
_lw v0,0x30(sp)
lw t9,-0x7a6c(gp)
jalr t9
_or a0,s6,zero
lw gp,0x28(sp)
b 0x00046558
_or s2,v0,zero
lw v0,-0x7fcc(gp)
li a3,0x919
lw a2,-0x7fd0(gp)
ori a0,zero,0x8000
lw t9,-0x76d0(gp)
sw a1,0x14(sp)
addiu v0,v0,-0x62ac
lw a1,-0x7fd0(gp)
addiu a2,a2,0x24d4
sw v0,0x10(sp)
jalr t9
_addiu a1,a1,0x1ad8
b 0x00046510
_lw gp,0x28(sp)
sw zero,0x30(sp)
b 0x00046650
_or s8,zero,zero
li a2,0x91a
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x24e0
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0x1b68
li a2,0x917
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
addiu a3,a3,0x24e0
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0x1b10
li a2,0x916
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x24e0
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0x1aec
lw a3,-0x7fd0(gp)
li a2,0x915
lw a1,-0x7fd0(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x24e0
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,-0x3784
lw t9,-0x784c(gp)
jalr t9
_nop
lw a3,-0x7fd0(gp)
li a2,0x914
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x24e0
addiu a1,a1,0x1ad8
jalr t9
_addiu a0,a0,0xdd0
(translation_unit "uint ImageToFile(int param_1,char *param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}\n\n" (function_definition "uint ImageToFile(int param_1,char *param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}" type_identifier (function_declarator "ImageToFile(int param_1,char *param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,char *param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "undefined1 auStack_d0 [56];" type_identifier (array_declarator "auStack_d0 [56]" identifier [ number_literal ]) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar13 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar13 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) goto LAB_0004697c;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004697c;" goto statement_identifier ;)) (if_statement "if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x336c)" * (cast_expression "(int *)(param_1 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x336c)" ( (binary_expression "param_1 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }" { (expression_statement "puVar11 = PTR_LAB_003a88e0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3348) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3348) == 0" (pointer_expression "*(int *)(param_1 + 0x3348)" * (cast_expression "(int *)(param_1 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3348)" ( (binary_expression "param_1 + 0x3348" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }" { (labeled_statement "LAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0)" (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 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1aec" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "puVar11 + 0x24e0" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_0004694c;" goto statement_identifier ;) })) (expression_statement "pcVar14 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar14 = (code *)PTR___assert_fail_003a9608" identifier = (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0" (pointer_expression "*(int *)(*(int *)(param_1 + 0x3348) + 0x40)" * (cast_expression "(int *)(*(int *)(param_1 + 0x3348) + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x3348) + 0x40)" ( (binary_expression "*(int *)(param_1 + 0x3348) + 0x40" (pointer_expression "*(int *)(param_1 + 0x3348)" * (cast_expression "(int *)(param_1 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3348)" ( (binary_expression "param_1 + 0x3348" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }" { (labeled_statement "LAB_00046910:\n      puVar11 = puVar11 + 0x24e0;" statement_identifier : (expression_statement "puVar11 = puVar11 + 0x24e0;" (assignment_expression "puVar11 = puVar11 + 0x24e0" identifier = (binary_expression "puVar11 + 0x24e0" identifier + number_literal)) ;)) (expression_statement "(*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);" (call_expression "(*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1b10" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004692c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3350) != 0" (pointer_expression "*(int *)(param_1 + 0x3350)" * (cast_expression "(int *)(param_1 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3350)" ( (binary_expression "param_1 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" (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_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }" { (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0x24e0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0x24e0" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal)) ;) (expression_statement "pcVar14 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar14 = (code *)PTR___assert_fail_003a9608" identifier = (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11)" (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 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1b68" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_00046910;" goto statement_identifier ;) })) (if_statement "if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" if (parenthesized_expression "(*param_2 == '\0')" ( (binary_expression "*param_2 == '\0'" (pointer_expression "*param_2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);" (assignment_expression "iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2)" identifier = (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" ( (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" * (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (labeled_statement "LAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;" statement_identifier : (if_statement "if (iVar2 != -1) goto LAB_00046564;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00046564;" goto statement_identifier ;))) (labeled_statement "LAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" statement_identifier : (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar7 = (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 "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);" (assignment_expression "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (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 "(*puVar7)" ( (pointer_expression "*puVar7" * identifier) )))) ;) (expression_statement "uVar12 = 0x924;" (assignment_expression "uVar12 = 0x924" identifier = number_literal) ;) (labeled_statement "LAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);" statement_identifier : (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12)" (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_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , identifier ))) ;)) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar8);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar8)" (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 "(uVar8)" ( identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" else (compound_statement "{\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);" (assignment_expression "iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180)" identifier = (call_expression "(*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180)" (parenthesized_expression "(*(code *)PTR_open64_003a8e08)" ( (pointer_expression "*(code *)PTR_open64_003a8e08" * (cast_expression "(code *)PTR_open64_003a8e08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0x502,0x180)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00046558;" goto statement_identifier ;) })) (expression_statement "iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);" (assignment_expression "iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" identifier = (call_expression "(*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" (parenthesized_expression "(*(code *)PTR_fileno_003a99cc)" ( (pointer_expression "*(code *)PTR_fileno_003a99cc" * (cast_expression "(code *)PTR_fileno_003a99cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_stdout_003a8ee4)" ( (pointer_expression "*(undefined4 *)PTR_stdout_003a8ee4" * (cast_expression "(undefined4 *)PTR_stdout_003a8ee4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 == -1) goto LAB_00046774;" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00046774;" goto statement_identifier ;)) (labeled_statement "LAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);" (assignment_expression "iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0)" identifier = (call_expression "(*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0)" (parenthesized_expression "(*(code *)PTR___fxstat64_003a8ea8)" ( (pointer_expression "*(code *)PTR___fxstat64_003a8ea8" * (cast_expression "(code *)PTR___fxstat64_003a8ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,iVar2,auStack_d0)" ( number_literal , identifier , identifier )))) ;)) (if_statement "if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" if (parenthesized_expression "(((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff))" ( (binary_expression "((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)" (parenthesized_expression "((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0))" ( (binary_expression "(iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)" ( (binary_expression "(uint)(local_94 - 1 < local_94) + local_98 + -1 == 0" (binary_expression "(uint)(local_94 - 1 < local_94) + local_98 + -1" (binary_expression "(uint)(local_94 - 1 < local_94) + local_98" (call_expression "(uint)(local_94 - 1 < local_94)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_94 - 1 < local_94)" ( (binary_expression "local_94 - 1 < local_94" (binary_expression "local_94 - 1" identifier - number_literal) < identifier) ))) + identifier) + number_literal) == number_literal) ))) )) && (parenthesized_expression "(local_94 - 1 < 0x13fff)" ( (binary_expression "local_94 - 1 < 0x13fff" (binary_expression "local_94 - 1" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1)" identifier = (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,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 "(local_94,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = local_94;" (assignment_expression "uVar6 = local_94" identifier = identifier) ;) }) (else_clause "else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" else (compound_statement "{\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" { (expression_statement "uVar6 = 0x14000;" (assignment_expression "uVar6 = 0x14000" identifier = number_literal) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1)" identifier = (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,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 "(0x14000,1)" ( number_literal , number_literal )))) ;) }))) (if_statement "if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);" (assignment_expression "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" identifier = (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" ( (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" * (cast_expression "(code *)PTR_ReadBlobStream_003a9098" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar6,iVar3,&local_d4)" ( identifier , identifier , identifier , (pointer_expression "&local_d4" & identifier) )))) ;) (if_statement "if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" if (parenthesized_expression "((int)local_d4 < 1)" ( (binary_expression "(int)local_d4 < 1" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }" { (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;)) (if_statement "if (iVar4 != 0) goto LAB_00046860;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00046860;" goto statement_identifier ;)) (labeled_statement "LAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" statement_identifier : (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;)) (labeled_statement "LAB_00046680:\n          uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) (if_statement "if (local_e8 <= uVar15) goto LAB_00046710;" if (parenthesized_expression "(local_e8 <= uVar15)" ( (binary_expression "local_e8 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_00046710;" goto statement_identifier ;)) }) (else_clause "else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" else (compound_statement "{\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" { (do_statement "do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);" do (compound_statement "{\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          }" { (expression_statement "uVar1 = local_d4;" (assignment_expression "uVar1 = local_d4" identifier = identifier) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = local_d4;" (assignment_expression "local_e8 = local_d4" identifier = identifier) ;) (do_statement "do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);" do (compound_statement "{\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            }" { (expression_statement "local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);" (assignment_expression "local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15)" identifier = (call_expression "(*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15)" (parenthesized_expression "(*(code *)PTR_write_003a9738)" ( (pointer_expression "*(code *)PTR_write_003a9738" * (cast_expression "(code *)PTR_write_003a9738" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,iVar4 + uVar15,uVar1 - uVar15)" ( identifier , (binary_expression "iVar4 + uVar15" identifier + identifier) , (binary_expression "uVar1 - uVar15" identifier - identifier) )))) ;) (if_statement "if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }" if (parenthesized_expression "((int)local_d4 < 1)" ( (binary_expression "(int)local_d4 < 1" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "int *" primitive_type (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 "()" ( ))))) ;) (if_statement "if (*piVar5 != 4) goto LAB_00046650;" if (parenthesized_expression "(*piVar5 != 4)" ( (binary_expression "*piVar5 != 4" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_00046650;" goto statement_identifier ;)) }) (else_clause "else {\n                uVar15 = uVar15 + local_d4;\n              }" else (compound_statement "{\n                uVar15 = uVar15 + local_d4;\n              }" { (expression_statement "uVar15 = uVar15 + local_d4;" (assignment_expression "uVar15 = uVar15 + local_d4" identifier = (binary_expression "uVar15 + local_d4" identifier + identifier)) ;) }))) }) while (parenthesized_expression "(uVar15 < uVar1)" ( (binary_expression "uVar15 < uVar1" identifier < identifier) )) ;) (expression_statement "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);" (assignment_expression "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" identifier = (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" ( (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" * (cast_expression "(code *)PTR_ReadBlobStream_003a9098" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar6,iVar3,&local_d4)" ( identifier , identifier , identifier , (pointer_expression "&local_d4" & identifier) )))) ;) }) while (parenthesized_expression "(0 < (int)local_d4)" ( (binary_expression "0 < (int)local_d4" number_literal < (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_0004666c;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004666c;" goto statement_identifier ;)) (labeled_statement "LAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);" statement_identifier : (expression_statement "iVar2 = (*(code *)PTR_close_003a915c)(iVar2);" (assignment_expression "iVar2 = (*(code *)PTR_close_003a915c)(iVar2)" identifier = (call_expression "(*(code *)PTR_close_003a915c)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" ( (pointer_expression "*(code *)PTR_close_003a915c" * (cast_expression "(code *)PTR_close_003a915c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if (iVar2 != -1) goto LAB_00046680;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00046680;" goto statement_identifier ;)) }))) (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar7 = (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 "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);" (assignment_expression "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (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 "(*puVar7)" ( (pointer_expression "*puVar7" * identifier) )))) ;) (expression_statement "uVar12 = 0x94a;" (assignment_expression "uVar12 = 0x94a" identifier = number_literal) ;) (goto_statement "goto LAB_000466b4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_close_003a915c)(iVar2);" (call_expression "(*(code *)PTR_close_003a915c)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" ( (pointer_expression "*(code *)PTR_close_003a915c" * (cast_expression "(code *)PTR_close_003a915c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" (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_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar13)" ( (binary_expression "local_2c == *(int *)puVar13" identifier == (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return uVar6;\n    }" { (return_statement "return uVar6;" return identifier ;) }))) }) (else_clause "else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" else (compound_statement "{\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" { (labeled_statement "LAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal) ))) ;)) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;" statement_identifier : (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0xdd0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0xdd0" identifier = (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal)) ;)) (expression_statement "puVar13 = PTR___assert_fail_003a9608;" (assignment_expression "puVar13 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" (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 "(puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal) ))) ;) (expression_statement "piVar5 = *(int **)(puVar13 + 0x362890);" (assignment_expression "piVar5 = *(int **)(puVar13 + 0x362890)" identifier = (pointer_expression "*(int **)(puVar13 + 0x362890)" * (cast_expression "(int **)(puVar13 + 0x362890)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362890)" ( (binary_expression "puVar13 + 0x362890" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *piVar5;" (assignment_expression "iVar2 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }" if (parenthesized_expression "(puVar11 == (undefined *)0x0)" ( (binary_expression "puVar11 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f40) + 0xdd0" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x2398" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "iVar3 = *(int *)(puVar13 + 0x361f40);" (assignment_expression "iVar3 = *(int *)(puVar13 + 0x361f40)" identifier = (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }" if (parenthesized_expression "(*(int *)(puVar11 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar11 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar11 + 0x336c)" * (cast_expression "(int *)(puVar11 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x336c)" ( (binary_expression "puVar11 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f48) + -0x3784" (pointer_expression "*(int *)(puVar13 + 0x361f48)" * (cast_expression "(int *)(puVar13 + 0x361f48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f48)" ( (binary_expression "puVar13 + 0x361f48" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "iVar4 = *(int *)(puVar11 + 0x3348);" (assignment_expression "iVar4 = *(int *)(puVar11 + 0x3348)" identifier = (pointer_expression "*(int *)(puVar11 + 0x3348)" * (cast_expression "(int *)(puVar11 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3348)" ( (binary_expression "puVar11 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1aec" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }" { (if_statement "if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) - 1U < 3)" ( (binary_expression "*(int *)(iVar4 + 0x40) - 1U < 3" (binary_expression "*(int *)(iVar4 + 0x40) - 1U" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" identifier = (call_expression "(**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" (parenthesized_expression "(**(code **)(puVar13 + 0x362cd4))" ( (pointer_expression "**(code **)(puVar13 + 0x362cd4)" * (pointer_expression "*(code **)(puVar13 + 0x362cd4)" * (cast_expression "(code **)(puVar13 + 0x362cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362cd4)" ( (binary_expression "puVar13 + 0x362cd4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x44))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x44)" * (cast_expression "(undefined4 *)(iVar4 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }" if (parenthesized_expression "(uVar6 != 0xffffffff)" ( (binary_expression "uVar6 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        uVar6 = uVar6 & 0xff;\n      }" { (expression_statement "uVar6 = uVar6 & 0xff;" (assignment_expression "uVar6 = uVar6 & 0xff" identifier = (binary_expression "uVar6 & 0xff" identifier & number_literal)) ;) })) }) (else_clause "else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" else (compound_statement "{\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" { (expression_statement "pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();" (assignment_expression "pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))()" identifier = (cast_expression "(byte *)(**(code **)(puVar13 + 0x3626f8))()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar13 + 0x3626f8))()" (parenthesized_expression "(**(code **)(puVar13 + 0x3626f8))" ( (pointer_expression "**(code **)(puVar13 + 0x3626f8)" * (pointer_expression "*(code **)(puVar13 + 0x3626f8)" * (cast_expression "(code **)(puVar13 + 0x3626f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3626f8)" ( (binary_expression "puVar13 + 0x3626f8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }" if (parenthesized_expression "(iStack_12c == 1)" ( (binary_expression "iStack_12c == 1" identifier == number_literal) )) (compound_statement "{\n        uVar6 = (uint)*pbVar9;\n      }" { (expression_statement "uVar6 = (uint)*pbVar9;" (assignment_expression "uVar6 = (uint)*pbVar9" identifier = (binary_expression "(uint)*pbVar9" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar6 = 0xffffffff;\n      }" else (compound_statement "{\n        uVar6 = 0xffffffff;\n      }" { (expression_statement "uVar6 = 0xffffffff;" (assignment_expression "uVar6 = 0xffffffff" identifier = number_literal) ;) }))) }))) (if_statement "if (iVar2 == *piVar5) {\n      return uVar6;\n    }" if (parenthesized_expression "(iVar2 == *piVar5)" ( (binary_expression "iVar2 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n      return uVar6;\n    }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "pcVar14 = *(code **)(puVar13 + 0x3626c4);" (assignment_expression "pcVar14 = *(code **)(puVar13 + 0x3626c4)" identifier = (pointer_expression "*(code **)(puVar13 + 0x3626c4)" * (cast_expression "(code **)(puVar13 + 0x3626c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3626c4)" ( (binary_expression "puVar13 + 0x3626c4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar5 = *(int **)(pcVar14 + 0x362738);" (assignment_expression "piVar5 = *(int **)(pcVar14 + 0x362738)" identifier = (pointer_expression "*(int **)(pcVar14 + 0x362738)" * (cast_expression "(int **)(pcVar14 + 0x362738)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x362738)" ( (binary_expression "pcVar14 + 0x362738" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }" { (expression_statement "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);" (assignment_expression "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" identifier = (call_expression "(**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar14 + 0x362b10))" ( (pointer_expression "**(code **)(pcVar14 + 0x362b10)" * (pointer_expression "*(code **)(pcVar14 + 0x362b10)" * (cast_expression "(code **)(pcVar14 + 0x362b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x362b10)" ( (binary_expression "pcVar14 + 0x362b10" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" ( (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0xdd0" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }" { (expression_statement "puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))()" identifier = (cast_expression "(uint *)(**(code **)(pcVar14 + 0x3625a0))()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar14 + 0x3625a0))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x3625a0))" ( (pointer_expression "**(code **)(pcVar14 + 0x3625a0)" * (pointer_expression "*(code **)(pcVar14 + 0x3625a0)" * (cast_expression "(code **)(pcVar14 + 0x3625a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3625a0)" ( (binary_expression "pcVar14 + 0x3625a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }" if (parenthesized_expression "(iStack_164 == 4)" ( (binary_expression "iStack_164 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }" { (expression_statement "uVar6 = *puVar10;" (assignment_expression "uVar6 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (if_statement "if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(*(int *)(iVar2 + 0x25c) == 1)" ( (binary_expression "*(int *)(iVar2 + 0x25c) == 1" (pointer_expression "*(int *)(iVar2 + 0x25c)" * (cast_expression "(int *)(iVar2 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25c)" ( (binary_expression "iVar2 + 0x25c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) }) (else_clause "else {\n        uVar6 = 0;\n      }" else (compound_statement "{\n        uVar6 = 0;\n      }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) (if_statement "if (iVar3 == *piVar5) {\n        return uVar6;\n      }" if (parenthesized_expression "(iVar3 == *piVar5)" ( (binary_expression "iVar3 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n        return uVar6;\n      }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "(**(code **)(pcVar14 + 0x36256c))();" (call_expression "(**(code **)(pcVar14 + 0x36256c))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x36256c))" ( (pointer_expression "**(code **)(pcVar14 + 0x36256c)" * (pointer_expression "*(code **)(pcVar14 + 0x36256c)" * (cast_expression "(code **)(pcVar14 + 0x36256c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x36256c)" ( (binary_expression "pcVar14 + 0x36256c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);" (assignment_expression "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" identifier = (call_expression "(**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar14 + 0x362b10))" ( (pointer_expression "**(code **)(pcVar14 + 0x362b10)" * (pointer_expression "*(code **)(pcVar14 + 0x362b10)" * (cast_expression "(code **)(pcVar14 + 0x362b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x362b10)" ( (binary_expression "pcVar14 + 0x362b10" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" ( (binary_expression "*(int *)(pcVar14 + 0x361df0) + -0x3784" (pointer_expression "*(int *)(pcVar14 + 0x361df0)" * (cast_expression "(int *)(pcVar14 + 0x361df0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361df0)" ( (binary_expression "pcVar14 + 0x361df0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1b10" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType ImageToFile(Image *image,char *filename,ExceptionInfo *exception)\n\n{\n  ssize_t sVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  MagickBooleanType MVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  byte *pbVar10;\n  MagickBooleanType *pMVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  uint uVar18;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  ssize_t count;\n  stat file_stats;\n  \n  puVar15 = PTR___stack_chk_guard_003a9230;\n  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image == (Image *)0x0) goto LAB_0004697c;\n  if (image->signature == 0xabacadab) {\n    puVar12 = PTR_LAB_003a88e0;\n    if (image->blob == (BlobInfo *)0x0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar16 = (code *)PTR___assert_fail_003a9608;\n    if (image->blob->type == UndefinedStream) {\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (filename == (char *)0x0) {\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }\n    if (*filename == '\0') {\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }\n    else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }\nLAB_00046710:\n    if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar12 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar6 = *(int **)(puVar15 + 0x362890);\n  iVar2 = *piVar6;\n  if (puVar12 == (undefined *)0x0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);\n    return MVar7;\n  }\n  iVar3 = *(int *)(puVar15 + 0x361f40);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return MVar7;\n  }\n  iVar4 = *(int *)(puVar12 + 0x3348);\n  if (iVar4 == 0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return MVar7;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }\n    else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }\n    if (iVar2 == *piVar6) {\n      return MVar7;\n    }\n    pcVar16 = *(code **)(puVar15 + 0x3626c4);\n    (*pcVar16)();\n    piVar6 = *(int **)(pcVar16 + 0x362738);\n    iVar3 = *piVar6;\n    if (iVar2 != 0) {\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }\n    pcVar17 = *(code **)(pcVar16 + 0x362b10);\n    (*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388);\n    MVar7 = (**(code **)(pcVar17 + 0x362030))();\n    return MVar7;\n  }\n  MVar7 = (**(code **)(puVar15 + 0x362c68))\n                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return MVar7;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType ImageToFile(Image *image,char *filename,ExceptionInfo *exception)\n\n{\n  ssize_t sVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  MagickBooleanType MVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  byte *pbVar10;\n  MagickBooleanType *pMVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  uint uVar18;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  ssize_t count;\n  stat file_stats;\n  \n  puVar15 = PTR___stack_chk_guard_003a9230;\n  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image == (Image *)0x0) goto LAB_0004697c;\n  if (image->signature == 0xabacadab) {\n    puVar12 = PTR_LAB_003a88e0;\n    if (image->blob == (BlobInfo *)0x0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar16 = (code *)PTR___assert_fail_003a9608;\n    if (image->blob->type == UndefinedStream) {\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (filename == (char *)0x0) {\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }\n    if (*filename == '\0') {\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }\n    else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }\nLAB_00046710:\n    if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar12 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar6 = *(int **)(puVar15 + 0x362890);\n  iVar2 = *piVar6;\n  if (puVar12 == (undefined *)0x0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);\n    return MVar7;\n  }\n  iVar3 = *(int *)(puVar15 + 0x361f40);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return MVar7;\n  }\n  iVar4 = *(int *)(puVar12 + 0x3348);\n  if (iVar4 == 0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return MVar7;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }\n    else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }\n    if (iVar2 == *piVar6) {\n      return MVar7;\n    }\n    pcVar16 = *(code **)(puVar15 + 0x3626c4);\n    (*pcVar16)();\n    piVar6 = *(int **)(pcVar16 + 0x362738);\n    iVar3 = *piVar6;\n    if (iVar2 != 0) {\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }\n    pcVar17 = *(code **)(pcVar16 + 0x362b10);\n    (*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388);\n    MVar7 = (**(code **)(pcVar17 + 0x362030))();\n    return MVar7;\n  }\n  MVar7 = (**(code **)(puVar15 + 0x362c68))\n                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return MVar7;\n}" type_identifier (function_declarator "ImageToFile(Image *image,char *filename,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,char *filename,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "char *filename" primitive_type (pointer_declarator "*filename" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  ssize_t sVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int *piVar6;\n  MagickBooleanType MVar7;\n  undefined4 *puVar8;\n  undefined4 uVar9;\n  byte *pbVar10;\n  MagickBooleanType *pMVar11;\n  undefined *puVar12;\n  undefined4 uVar13;\n  uint uVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  code *pcVar17;\n  uint uVar18;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  ssize_t count;\n  stat file_stats;\n  \n  puVar15 = PTR___stack_chk_guard_003a9230;\n  iVar2 = *(int *)PTR___stack_chk_guard_003a9230;\n  if (image == (Image *)0x0) goto LAB_0004697c;\n  if (image->signature == 0xabacadab) {\n    puVar12 = PTR_LAB_003a88e0;\n    if (image->blob == (BlobInfo *)0x0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar16 = (code *)PTR___assert_fail_003a9608;\n    if (image->blob->type == UndefinedStream) {\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (filename == (char *)0x0) {\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }\n    if (*filename == '\0') {\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }\n    else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }\nLAB_00046710:\n    if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar12 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar15 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar6 = *(int **)(puVar15 + 0x362890);\n  iVar2 = *piVar6;\n  if (puVar12 == (undefined *)0x0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);\n    return MVar7;\n  }\n  iVar3 = *(int *)(puVar15 + 0x361f40);\n  if (*(int *)(puVar12 + 0x336c) != -0x54535255) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return MVar7;\n  }\n  iVar4 = *(int *)(puVar12 + 0x3348);\n  if (iVar4 == 0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return MVar7;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }\n    else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }\n    if (iVar2 == *piVar6) {\n      return MVar7;\n    }\n    pcVar16 = *(code **)(puVar15 + 0x3626c4);\n    (*pcVar16)();\n    piVar6 = *(int **)(pcVar16 + 0x362738);\n    iVar3 = *piVar6;\n    if (iVar2 != 0) {\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }\n    pcVar17 = *(code **)(pcVar16 + 0x362b10);\n    (*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388);\n    MVar7 = (**(code **)(pcVar17 + 0x362030))();\n    return MVar7;\n  }\n  MVar7 = (**(code **)(puVar15 + 0x362c68))\n                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return MVar7;\n}" { (declaration "ssize_t sVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "MagickBooleanType MVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "MagickBooleanType *pMVar11;" type_identifier (pointer_declarator "*pMVar11" * identifier) ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "code *pcVar17;" type_identifier (pointer_declarator "*pcVar17" * identifier) ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "ssize_t count;" primitive_type identifier ;) (declaration "stat file_stats;" type_identifier identifier ;) (expression_statement "puVar15 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar15 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "iVar2 = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (image == (Image *)0x0) goto LAB_0004697c;" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0004697c;" goto statement_identifier ;)) (if_statement "if (image->signature == 0xabacadab) {\n    puVar12 = PTR_LAB_003a88e0;\n    if (image->blob == (BlobInfo *)0x0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar16 = (code *)PTR___assert_fail_003a9608;\n    if (image->blob->type == UndefinedStream) {\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (filename == (char *)0x0) {\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }\n    if (*filename == '\0') {\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }\n    else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }\nLAB_00046710:\n    if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" if (parenthesized_expression "(image->signature == 0xabacadab)" ( (binary_expression "image->signature == 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    puVar12 = PTR_LAB_003a88e0;\n    if (image->blob == (BlobInfo *)0x0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar16 = (code *)PTR___assert_fail_003a9608;\n    if (image->blob->type == UndefinedStream) {\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }\n    if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (filename == (char *)0x0) {\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }\n    if (*filename == '\0') {\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }\n    else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }\nLAB_00046710:\n    if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }\n  }" { (expression_statement "puVar12 = PTR_LAB_003a88e0;" (assignment_expression "puVar12 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (image->blob == (BlobInfo *)0x0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }" if (parenthesized_expression "(image->blob == (BlobInfo *)0x0)" ( (binary_expression "image->blob == (BlobInfo *)0x0" (field_expression "image->blob" identifier -> field_identifier) == (cast_expression "(BlobInfo *)0x0" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);\n      goto LAB_0004694c;\n    }" { (labeled_statement "LAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0)" (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 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar12 + 0x24e0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1aec" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "puVar12 + 0x24e0" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_0004694c;" goto statement_identifier ;) })) (expression_statement "pcVar16 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar16 = (code *)PTR___assert_fail_003a9608" identifier = (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (image->blob->type == UndefinedStream) {\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }" if (parenthesized_expression "(image->blob->type == UndefinedStream)" ( (binary_expression "image->blob->type == UndefinedStream" (field_expression "image->blob->type" (field_expression "image->blob" identifier -> field_identifier) -> field_identifier) == identifier) )) (compound_statement "{\nLAB_00046910:\n      puVar12 = puVar12 + 0x24e0;\n      (*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);\n      goto LAB_0004692c;\n    }" { (labeled_statement "LAB_00046910:\n      puVar12 = puVar12 + 0x24e0;" statement_identifier : (expression_statement "puVar12 = puVar12 + 0x24e0;" (assignment_expression "puVar12 = puVar12 + 0x24e0" identifier = (binary_expression "puVar12 + 0x24e0" identifier + number_literal)) ;)) (expression_statement "(*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12);" (call_expression "(*pcVar16)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar12)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1b10" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004692c;" goto statement_identifier ;) })) (if_statement "if (image->debug != MagickFalse) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" (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_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if (filename == (char *)0x0) {\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }" if (parenthesized_expression "(filename == (char *)0x0)" ( (binary_expression "filename == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar12 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar16 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);\n      goto LAB_00046910;\n    }" { (expression_statement "puVar12 = PTR_LAB_003a88e0 + 0x24e0;" (assignment_expression "puVar12 = PTR_LAB_003a88e0 + 0x24e0" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal)) ;) (expression_statement "pcVar16 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar16 = (code *)PTR___assert_fail_003a9608" identifier = (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12)" (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 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar12)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1b68" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_00046910;" goto statement_identifier ;) })) (if_statement "if (*filename == '\0') {\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }\n    else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }" if (parenthesized_expression "(*filename == '\0')" ( (binary_expression "*filename == '\0'" (pointer_expression "*filename" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);\nLAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n      uVar13 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);\n      (*(code *)PTR_DestroyString_003a9074)(uVar9);\n      MVar7 = MagickFalse;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename)" identifier = (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(filename)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" ( (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" * (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(filename)" ( identifier )))) ;) (labeled_statement "LAB_00046558:\n      if (iVar3 != -1) goto LAB_00046564;" statement_identifier : (if_statement "if (iVar3 != -1) goto LAB_00046564;" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00046564;" goto statement_identifier ;))) (labeled_statement "LAB_00046774:\n      puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" statement_identifier : (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar8 = (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 "uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);" (assignment_expression "uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (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 "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "uVar13 = 0x924;" (assignment_expression "uVar13 = 0x924" identifier = number_literal) ;) (labeled_statement "LAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);" statement_identifier : (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13)" (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_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar13)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , identifier ))) ;)) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar9);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar9)" (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 "(uVar9)" ( identifier ))) ;) (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) }) (else_clause "else {\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }" else (compound_statement "{\n      iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar3 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);\n      if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar3);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      MVar7 = MagickFalse;\n    }" { (expression_statement "iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar3 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(filename,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;) (if_statement "if (iVar3 != 0) {\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);\n        goto LAB_00046558;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180);" (assignment_expression "iVar3 = (*(code *)PTR_open64_003a8e08)(filename,0x502,0x180)" identifier = (call_expression "(*(code *)PTR_open64_003a8e08)(filename,0x502,0x180)" (parenthesized_expression "(*(code *)PTR_open64_003a8e08)" ( (pointer_expression "*(code *)PTR_open64_003a8e08" * (cast_expression "(code *)PTR_open64_003a8e08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(filename,0x502,0x180)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00046558;" goto statement_identifier ;) })) (expression_statement "iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);" (assignment_expression "iVar3 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" identifier = (call_expression "(*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" (parenthesized_expression "(*(code *)PTR_fileno_003a99cc)" ( (pointer_expression "*(code *)PTR_fileno_003a99cc" * (cast_expression "(code *)PTR_fileno_003a99cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_stdout_003a8ee4)" ( (pointer_expression "*(undefined4 *)PTR_stdout_003a8ee4" * (cast_expression "(undefined4 *)PTR_stdout_003a8ee4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar3 == -1) goto LAB_00046774;" if (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00046774;" goto statement_identifier ;)) (labeled_statement "LAB_00046564:\n      iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats);" (assignment_expression "iVar4 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats)" identifier = (call_expression "(*(code *)PTR___fxstat64_003a8ea8)(3,iVar3,&file_stats)" (parenthesized_expression "(*(code *)PTR___fxstat64_003a8ea8)" ( (pointer_expression "*(code *)PTR___fxstat64_003a8ea8" * (cast_expression "(code *)PTR___fxstat64_003a8ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,iVar3,&file_stats)" ( number_literal , identifier , (pointer_expression "&file_stats" & identifier) )))) ;)) (if_statement "if (((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)) {\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }\n      else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" if (parenthesized_expression "(((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff))" ( (binary_expression "((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)) && (file_stats.st_size._4_4_ - 1 < 0x13fff)" (parenthesized_expression "((iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0))" ( (binary_expression "(iVar4 == 0) &&\n          ((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "((uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0)" ( (binary_expression "(uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1 == 0" (binary_expression "(uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_ + -1" (binary_expression "(uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_) +\n           file_stats.st_size._0_4_" (call_expression "(uint)(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_)" ( (binary_expression "file_stats.st_size._4_4_ - 1 < file_stats.st_size._4_4_" (binary_expression "file_stats.st_size._4_4_ - 1" (field_expression "file_stats.st_size._4_4_" (field_expression "file_stats.st_size" identifier . field_identifier) . field_identifier) - number_literal) < (field_expression "file_stats.st_size._4_4_" (field_expression "file_stats.st_size" identifier . field_identifier) . field_identifier)) ))) + (field_expression "file_stats.st_size._0_4_" (field_expression "file_stats.st_size" identifier . field_identifier) . field_identifier)) + number_literal) == number_literal) ))) )) && (parenthesized_expression "(file_stats.st_size._4_4_ - 1 < 0x13fff)" ( (binary_expression "file_stats.st_size._4_4_ - 1 < 0x13fff" (binary_expression "file_stats.st_size._4_4_ - 1" (field_expression "file_stats.st_size._4_4_" (field_expression "file_stats.st_size" identifier . field_identifier) . field_identifier) - number_literal) < number_literal) ))) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);\n        uVar14 = file_stats.st_size._4_4_;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1);" (assignment_expression "iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,1)" identifier = (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(file_stats.st_size._4_4_,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 "(file_stats.st_size._4_4_,1)" ( (field_expression "file_stats.st_size._4_4_" (field_expression "file_stats.st_size" identifier . field_identifier) . field_identifier) , number_literal )))) ;) (expression_statement "uVar14 = file_stats.st_size._4_4_;" (assignment_expression "uVar14 = file_stats.st_size._4_4_" identifier = (field_expression "file_stats.st_size._4_4_" (field_expression "file_stats.st_size" identifier . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" else (compound_statement "{\n        uVar14 = 0x14000;\n        iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" { (expression_statement "uVar14 = 0x14000;" (assignment_expression "uVar14 = 0x14000" identifier = number_literal) ;) (expression_statement "iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);" (assignment_expression "iVar4 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1)" identifier = (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,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 "(0x14000,1)" ( number_literal , number_literal )))) ;) }))) (if_statement "if (iVar4 != 0) {\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n        if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }\n        puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);\n        uVar13 = 0x94a;\n        goto LAB_000466b4;\n      }" { (expression_statement "iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);" (assignment_expression "iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count)" identifier = (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" ( (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" * (cast_expression "(code *)PTR_ReadBlobStream_003a9098" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,uVar14,iVar4,&count)" ( identifier , identifier , identifier , (pointer_expression "&count" & identifier) )))) ;) (if_statement "if (count < 1) {\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }\n        else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }" if (parenthesized_expression "(count < 1)" ( (binary_expression "count < 1" identifier < number_literal) )) (compound_statement "{\n          local_e8 = 0;\n          uVar18 = 0;\nLAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\nLAB_00046680:\n          MVar7 = MagickTrue;\n          if (local_e8 <= uVar18) goto LAB_00046710;\n        }" { (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00046650:\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);" statement_identifier : (expression_statement "iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(filename,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;)) (if_statement "if (iVar5 != 0) goto LAB_00046860;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00046860;" goto statement_identifier ;)) (labeled_statement "LAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);" statement_identifier : (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;)) (labeled_statement "LAB_00046680:\n          MVar7 = MagickTrue;" statement_identifier : (expression_statement "MVar7 = MagickTrue;" (assignment_expression "MVar7 = MagickTrue" identifier = identifier) ;)) (if_statement "if (local_e8 <= uVar18) goto LAB_00046710;" if (parenthesized_expression "(local_e8 <= uVar18)" ( (binary_expression "local_e8 <= uVar18" identifier <= identifier) )) (goto_statement "goto LAB_00046710;" goto statement_identifier ;)) }) (else_clause "else {\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }" else (compound_statement "{\n          do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);\n          iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar5 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);\n          if (iVar3 != -1) goto LAB_00046680;\n        }" { (do_statement "do {\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          } while (0 < count);" do (compound_statement "{\n            sVar1 = count;\n            uVar18 = 0;\n            local_e8 = count;\n            do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);\n            iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);\n          }" { (expression_statement "sVar1 = count;" (assignment_expression "sVar1 = count" identifier = identifier) ;) (expression_statement "uVar18 = 0;" (assignment_expression "uVar18 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = count;" (assignment_expression "local_e8 = count" identifier = identifier) ;) (do_statement "do {\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            } while (uVar18 < (uint)sVar1);" do (compound_statement "{\n              count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);\n              if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }\n            }" { (expression_statement "count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18);" (assignment_expression "count = (*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18)" identifier = (call_expression "(*(code *)PTR_write_003a9738)(iVar3,iVar5 + uVar18,sVar1 - uVar18)" (parenthesized_expression "(*(code *)PTR_write_003a9738)" ( (pointer_expression "*(code *)PTR_write_003a9738" * (cast_expression "(code *)PTR_write_003a9738" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3,iVar5 + uVar18,sVar1 - uVar18)" ( identifier , (binary_expression "iVar5 + uVar18" identifier + identifier) , (binary_expression "sVar1 - uVar18" identifier - identifier) )))) ;) (if_statement "if (count < 1) {\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar18 = uVar18 + count;\n              }" if (parenthesized_expression "(count < 1)" ( (binary_expression "count < 1" identifier < number_literal) )) (compound_statement "{\n                count = 0;\n                piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar6 != 4) goto LAB_00046650;\n              }" { (expression_statement "count = 0;" (assignment_expression "count = 0" identifier = number_literal) ;) (expression_statement "piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "piVar6 = (int *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "int *" primitive_type (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 "()" ( ))))) ;) (if_statement "if (*piVar6 != 4) goto LAB_00046650;" if (parenthesized_expression "(*piVar6 != 4)" ( (binary_expression "*piVar6 != 4" (pointer_expression "*piVar6" * identifier) != number_literal) )) (goto_statement "goto LAB_00046650;" goto statement_identifier ;)) }) (else_clause "else {\n                uVar18 = uVar18 + count;\n              }" else (compound_statement "{\n                uVar18 = uVar18 + count;\n              }" { (expression_statement "uVar18 = uVar18 + count;" (assignment_expression "uVar18 = uVar18 + count" identifier = (binary_expression "uVar18 + count" identifier + identifier)) ;) }))) }) while (parenthesized_expression "(uVar18 < (uint)sVar1)" ( (binary_expression "uVar18 < (uint)sVar1" identifier < (cast_expression "(uint)sVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) )) ;) (expression_statement "iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count);" (assignment_expression "iVar5 = (*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count)" identifier = (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(image,uVar14,iVar4,&count)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" ( (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" * (cast_expression "(code *)PTR_ReadBlobStream_003a9098" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(image,uVar14,iVar4,&count)" ( identifier , identifier , identifier , (pointer_expression "&count" & identifier) )))) ;) }) while (parenthesized_expression "(0 < count)" ( (binary_expression "0 < count" number_literal < identifier) )) ;) (expression_statement "iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar5 = (*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(filename,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(filename,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;) (if_statement "if (iVar5 == 0) goto LAB_0004666c;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004666c;" goto statement_identifier ;)) (labeled_statement "LAB_00046860:\n          iVar3 = (*(code *)PTR_close_003a915c)(iVar3);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR_close_003a915c)(iVar3);" (assignment_expression "iVar3 = (*(code *)PTR_close_003a915c)(iVar3)" identifier = (call_expression "(*(code *)PTR_close_003a915c)(iVar3)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" ( (pointer_expression "*(code *)PTR_close_003a915c" * (cast_expression "(code *)PTR_close_003a915c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar4)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (iVar3 != -1) goto LAB_00046680;" if (parenthesized_expression "(iVar3 != -1)" ( (binary_expression "iVar3 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00046680;" goto statement_identifier ;)) }))) (expression_statement "puVar8 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar8 = (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 "uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8);" (assignment_expression "uVar9 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar8)" (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 "(*puVar8)" ( (pointer_expression "*puVar8" * identifier) )))) ;) (expression_statement "uVar13 = 0x94a;" (assignment_expression "uVar13 = 0x94a" identifier = number_literal) ;) (goto_statement "goto LAB_000466b4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_close_003a915c)(iVar3);" (call_expression "(*(code *)PTR_close_003a915c)(iVar3)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" ( (pointer_expression "*(code *)PTR_close_003a915c" * (cast_expression "(code *)PTR_close_003a915c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (exception,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" (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_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , number_literal ))) ;) (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) }))) (labeled_statement "LAB_00046710:\n    if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }" statement_identifier : (if_statement "if (iVar2 == *(int *)puVar15) {\n      return MVar7;\n    }" if (parenthesized_expression "(iVar2 == *(int *)puVar15)" ( (binary_expression "iVar2 == *(int *)puVar15" identifier == (pointer_expression "*(int *)puVar15" * (cast_expression "(int *)puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return MVar7;\n    }" { (return_statement "return MVar7;" return identifier ;) }))) }) (else_clause "else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" else (compound_statement "{\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" { (labeled_statement "LAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal) ))) ;)) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0004697c:\n  puVar12 = PTR_LAB_003a88e0 + 0xdd0;" statement_identifier : (expression_statement "puVar12 = PTR_LAB_003a88e0 + 0xdd0;" (assignment_expression "puVar12 = PTR_LAB_003a88e0 + 0xdd0" identifier = (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal)) ;)) (expression_statement "puVar15 = PTR___assert_fail_003a9608;" (assignment_expression "puVar15 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" (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 "(puVar12,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal) ))) ;) (expression_statement "piVar6 = *(int **)(puVar15 + 0x362890);" (assignment_expression "piVar6 = *(int **)(puVar15 + 0x362890)" identifier = (pointer_expression "*(int **)(puVar15 + 0x362890)" * (cast_expression "(int **)(puVar15 + 0x362890)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x362890)" ( (binary_expression "puVar15 + 0x362890" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *piVar6;" (assignment_expression "iVar2 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (puVar12 == (undefined *)0x0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);\n    return MVar7;\n  }" if (parenthesized_expression "(puVar12 == (undefined *)0x0)" ( (binary_expression "puVar12 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);\n    return MVar7;\n  }" { (expression_statement "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398);" (assignment_expression "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398)" identifier = (call_expression "(**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398)" (parenthesized_expression "(**(code **)(puVar15 + 0x362c68))" ( (pointer_expression "**(code **)(puVar15 + 0x362c68)" * (pointer_expression "*(code **)(puVar15 + 0x362c68)" * (cast_expression "(code **)(puVar15 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x362c68)" ( (binary_expression "puVar15 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x361f40) + 0xdd0,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar15 + 0x361f40) + 0x2398)" ( (binary_expression "*(int *)(puVar15 + 0x361f40) + 0xdd0" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x2398" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return MVar7;" return identifier ;) })) (expression_statement "iVar3 = *(int *)(puVar15 + 0x361f40);" (assignment_expression "iVar3 = *(int *)(puVar15 + 0x361f40)" identifier = (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar12 + 0x336c) != -0x54535255) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return MVar7;\n  }" if (parenthesized_expression "(*(int *)(puVar12 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar12 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar12 + 0x336c)" * (cast_expression "(int *)(puVar12 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x336c)" ( (binary_expression "puVar12 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return MVar7;\n  }" { (expression_statement "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);" (assignment_expression "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar15 + 0x362c68))" ( (pointer_expression "**(code **)(puVar15 + 0x362c68)" * (pointer_expression "*(code **)(puVar15 + 0x362c68)" * (cast_expression "(code **)(puVar15 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x362c68)" ( (binary_expression "puVar15 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x361f48) + -0x3784,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar15 + 0x361f48) + -0x3784" (pointer_expression "*(int *)(puVar15 + 0x361f48)" * (cast_expression "(int *)(puVar15 + 0x361f48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f48)" ( (binary_expression "puVar15 + 0x361f48" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return MVar7;" return identifier ;) })) (expression_statement "iVar4 = *(int *)(puVar12 + 0x3348);" (assignment_expression "iVar4 = *(int *)(puVar12 + 0x3348)" identifier = (pointer_expression "*(int *)(puVar12 + 0x3348)" * (cast_expression "(int *)(puVar12 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x3348)" ( (binary_expression "puVar12 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return MVar7;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return MVar7;\n  }" { (expression_statement "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);" (assignment_expression "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar15 + 0x362c68))\n                      (*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar15 + 0x362c68))" ( (pointer_expression "**(code **)(puVar15 + 0x362c68)" * (pointer_expression "*(code **)(puVar15 + 0x362c68)" * (cast_expression "(code **)(puVar15 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x362c68)" ( (binary_expression "puVar15 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x361f40) + 0x1aec,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x1aec" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return MVar7;" return identifier ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }\n    else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }\n    if (iVar2 == *piVar6) {\n      return MVar7;\n    }\n    pcVar16 = *(code **)(puVar15 + 0x3626c4);\n    (*pcVar16)();\n    piVar6 = *(int **)(pcVar16 + 0x362738);\n    iVar3 = *piVar6;\n    if (iVar2 != 0) {\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }\n    pcVar17 = *(code **)(pcVar16 + 0x362b10);\n    (*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388);\n    MVar7 = (**(code **)(pcVar17 + 0x362030))();\n    return MVar7;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }\n    else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }\n    if (iVar2 == *piVar6) {\n      return MVar7;\n    }\n    pcVar16 = *(code **)(puVar15 + 0x3626c4);\n    (*pcVar16)();\n    piVar6 = *(int **)(pcVar16 + 0x362738);\n    iVar3 = *piVar6;\n    if (iVar2 != 0) {\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }\n    pcVar17 = *(code **)(pcVar16 + 0x362b10);\n    (*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388);\n    MVar7 = (**(code **)(pcVar17 + 0x362030))();\n    return MVar7;\n  }" { (if_statement "if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }\n    else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) - 1U < 3)" ( (binary_expression "*(int *)(iVar4 + 0x40) - 1U < 3" (binary_expression "*(int *)(iVar4 + 0x40) - 1U" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n      MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }\n    }" { (expression_statement "MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));" (assignment_expression "MVar7 = (**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" identifier = (call_expression "(**(code **)(puVar15 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" (parenthesized_expression "(**(code **)(puVar15 + 0x362cd4))" ( (pointer_expression "**(code **)(puVar15 + 0x362cd4)" * (pointer_expression "*(code **)(puVar15 + 0x362cd4)" * (cast_expression "(code **)(puVar15 + 0x362cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x362cd4)" ( (binary_expression "puVar15 + 0x362cd4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x44))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x44)" * (cast_expression "(undefined4 *)(iVar4 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) )))) ;) (if_statement "if (MVar7 != ~MagickFalse) {\n        MVar7 = MVar7 & 0xff;\n      }" if (parenthesized_expression "(MVar7 != ~MagickFalse)" ( (binary_expression "MVar7 != ~MagickFalse" identifier != (unary_expression "~MagickFalse" ~ identifier)) )) (compound_statement "{\n        MVar7 = MVar7 & 0xff;\n      }" { (expression_statement "MVar7 = MVar7 & 0xff;" (assignment_expression "MVar7 = MVar7 & 0xff" identifier = (binary_expression "MVar7 & 0xff" identifier & number_literal)) ;) })) }) (else_clause "else {\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }" else (compound_statement "{\n      pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }\n    }" { (expression_statement "pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))();" (assignment_expression "pbVar10 = (byte *)(**(code **)(puVar15 + 0x3626f8))()" identifier = (cast_expression "(byte *)(**(code **)(puVar15 + 0x3626f8))()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar15 + 0x3626f8))()" (parenthesized_expression "(**(code **)(puVar15 + 0x3626f8))" ( (pointer_expression "**(code **)(puVar15 + 0x3626f8)" * (pointer_expression "*(code **)(puVar15 + 0x3626f8)" * (cast_expression "(code **)(puVar15 + 0x3626f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x3626f8)" ( (binary_expression "puVar15 + 0x3626f8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (iStack_12c == 1) {\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }\n      else {\n        MVar7 = ~MagickFalse;\n      }" if (parenthesized_expression "(iStack_12c == 1)" ( (binary_expression "iStack_12c == 1" identifier == number_literal) )) (compound_statement "{\n        MVar7 = (MagickBooleanType)*pbVar10;\n      }" { (expression_statement "MVar7 = (MagickBooleanType)*pbVar10;" (assignment_expression "MVar7 = (MagickBooleanType)*pbVar10" identifier = (binary_expression "(MagickBooleanType)*pbVar10" (parenthesized_expression "(MagickBooleanType)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        MVar7 = ~MagickFalse;\n      }" else (compound_statement "{\n        MVar7 = ~MagickFalse;\n      }" { (expression_statement "MVar7 = ~MagickFalse;" (assignment_expression "MVar7 = ~MagickFalse" identifier = (unary_expression "~MagickFalse" ~ identifier)) ;) }))) }))) (if_statement "if (iVar2 == *piVar6) {\n      return MVar7;\n    }" if (parenthesized_expression "(iVar2 == *piVar6)" ( (binary_expression "iVar2 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n      return MVar7;\n    }" { (return_statement "return MVar7;" return identifier ;) })) (expression_statement "pcVar16 = *(code **)(puVar15 + 0x3626c4);" (assignment_expression "pcVar16 = *(code **)(puVar15 + 0x3626c4)" identifier = (pointer_expression "*(code **)(puVar15 + 0x3626c4)" * (cast_expression "(code **)(puVar15 + 0x3626c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x3626c4)" ( (binary_expression "puVar15 + 0x3626c4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar6 = *(int **)(pcVar16 + 0x362738);" (assignment_expression "piVar6 = *(int **)(pcVar16 + 0x362738)" identifier = (pointer_expression "*(int **)(pcVar16 + 0x362738)" * (cast_expression "(int **)(pcVar16 + 0x362738)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x362738)" ( (binary_expression "pcVar16 + 0x362738" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *piVar6;" (assignment_expression "iVar3 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (iVar2 != 0) {\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }\n      (**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);\n    }" { (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();\n        if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }\n        if (iVar3 == *piVar6) {\n          return MVar7;\n        }\n        (**(code **)(pcVar16 + 0x36256c))();\n      }" { (expression_statement "pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))();" (assignment_expression "pMVar11 = (MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))()" identifier = (cast_expression "(MagickBooleanType *)(**(code **)(pcVar16 + 0x3625a0))()" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + 0x3625a0))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x3625a0))" ( (pointer_expression "**(code **)(pcVar16 + 0x3625a0)" * (pointer_expression "*(code **)(pcVar16 + 0x3625a0)" * (cast_expression "(code **)(pcVar16 + 0x3625a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x3625a0)" ( (binary_expression "pcVar16 + 0x3625a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (iStack_164 == 4) {\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }\n        else {\n          MVar7 = MagickFalse;\n        }" if (parenthesized_expression "(iStack_164 == 4)" ( (binary_expression "iStack_164 == 4" identifier == number_literal) )) (compound_statement "{\n          MVar7 = *pMVar11;\n          if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }\n        }" { (expression_statement "MVar7 = *pMVar11;" (assignment_expression "MVar7 = *pMVar11" identifier = (pointer_expression "*pMVar11" * identifier)) ;) (if_statement "if (*(int *)(iVar2 + 0x25c) == 1) {\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(*(int *)(iVar2 + 0x25c) == 1)" ( (binary_expression "*(int *)(iVar2 + 0x25c) == 1" (pointer_expression "*(int *)(iVar2 + 0x25c)" * (cast_expression "(int *)(iVar2 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25c)" ( (binary_expression "iVar2 + 0x25c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;\n          }" { (expression_statement "MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "MVar7 = (((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10) +\n                    ((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10)" ( (binary_expression "(MVar7 >> 0x10) << 0x18 | (MVar7 >> 0x18) << 0x10" (binary_expression "(MVar7 >> 0x10) << 0x18" (parenthesized_expression "(MVar7 >> 0x10)" ( (binary_expression "MVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(MVar7 >> 0x18) << 0x10" (parenthesized_expression "(MVar7 >> 0x18)" ( (binary_expression "MVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff)" ( (binary_expression "(MVar7 & 0xff) << 8 | MVar7 >> 8 & 0xff" (binary_expression "(MVar7 & 0xff) << 8" (parenthesized_expression "(MVar7 & 0xff)" ( (binary_expression "MVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "MVar7 >> 8 & 0xff" (binary_expression "MVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) }) (else_clause "else {\n          MVar7 = MagickFalse;\n        }" else (compound_statement "{\n          MVar7 = MagickFalse;\n        }" { (expression_statement "MVar7 = MagickFalse;" (assignment_expression "MVar7 = MagickFalse" identifier = identifier) ;) }))) (if_statement "if (iVar3 == *piVar6) {\n          return MVar7;\n        }" if (parenthesized_expression "(iVar3 == *piVar6)" ( (binary_expression "iVar3 == *piVar6" identifier == (pointer_expression "*piVar6" * identifier)) )) (compound_statement "{\n          return MVar7;\n        }" { (return_statement "return MVar7;" return identifier ;) })) (expression_statement "(**(code **)(pcVar16 + 0x36256c))();" (call_expression "(**(code **)(pcVar16 + 0x36256c))()" (parenthesized_expression "(**(code **)(pcVar16 + 0x36256c))" ( (pointer_expression "**(code **)(pcVar16 + 0x36256c)" * (pointer_expression "*(code **)(pcVar16 + 0x36256c)" * (cast_expression "(code **)(pcVar16 + 0x36256c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x36256c)" ( (binary_expression "pcVar16 + 0x36256c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388);" (call_expression "(**(code **)(pcVar16 + 0x362b10))\n                (*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar16 + 0x362b10))" ( (pointer_expression "**(code **)(pcVar16 + 0x362b10)" * (pointer_expression "*(code **)(pcVar16 + 0x362b10)" * (cast_expression "(code **)(pcVar16 + 0x362b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x362b10)" ( (binary_expression "pcVar16 + 0x362b10" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar16 + 0x361df0) + -0x3784,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1018\n                 ,*(int *)(pcVar16 + 0x361de8) + 0x2388)" ( (binary_expression "*(int *)(pcVar16 + 0x361df0) + -0x3784" (pointer_expression "*(int *)(pcVar16 + 0x361df0)" * (cast_expression "(int *)(pcVar16 + 0x361df0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x361df0)" ( (binary_expression "pcVar16 + 0x361df0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar16 + 0x361de8)" * (cast_expression "(int *)(pcVar16 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x361de8)" ( (binary_expression "pcVar16 + 0x361de8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar16 + 0x361de8)" * (cast_expression "(int *)(pcVar16 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x361de8)" ( (binary_expression "pcVar16 + 0x361de8" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar17 = *(code **)(pcVar16 + 0x362b10);" (assignment_expression "pcVar17 = *(code **)(pcVar16 + 0x362b10)" identifier = (pointer_expression "*(code **)(pcVar16 + 0x362b10)" * (cast_expression "(code **)(pcVar16 + 0x362b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 0x362b10)" ( (binary_expression "pcVar16 + 0x362b10" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388);" (call_expression "(*pcVar17)(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388)" (parenthesized_expression "(*pcVar17)" ( (pointer_expression "*pcVar17" * identifier) )) (argument_list "(*(int *)(pcVar16 + 0x361de8) + 0xdd0,*(int *)(pcVar16 + 0x361de8) + 0x1ad8,0x1017,\n               *(int *)(pcVar16 + 0x361de8) + 0x2388)" ( (binary_expression "*(int *)(pcVar16 + 0x361de8) + 0xdd0" (pointer_expression "*(int *)(pcVar16 + 0x361de8)" * (cast_expression "(int *)(pcVar16 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x361de8)" ( (binary_expression "pcVar16 + 0x361de8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar16 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar16 + 0x361de8)" * (cast_expression "(int *)(pcVar16 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x361de8)" ( (binary_expression "pcVar16 + 0x361de8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar16 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar16 + 0x361de8)" * (cast_expression "(int *)(pcVar16 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0x361de8)" ( (binary_expression "pcVar16 + 0x361de8" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "MVar7 = (**(code **)(pcVar17 + 0x362030))();" (assignment_expression "MVar7 = (**(code **)(pcVar17 + 0x362030))()" identifier = (call_expression "(**(code **)(pcVar17 + 0x362030))()" (parenthesized_expression "(**(code **)(pcVar17 + 0x362030))" ( (pointer_expression "**(code **)(pcVar17 + 0x362030)" * (pointer_expression "*(code **)(pcVar17 + 0x362030)" * (cast_expression "(code **)(pcVar17 + 0x362030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar17 + 0x362030)" ( (binary_expression "pcVar17 + 0x362030" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return MVar7;" return identifier ;) })) (expression_statement "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);" (assignment_expression "MVar7 = (**(code **)(puVar15 + 0x362c68))\n                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar15 + 0x362c68))\n                    (*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar15 + 0x362c68))" ( (pointer_expression "**(code **)(puVar15 + 0x362c68)" * (pointer_expression "*(code **)(puVar15 + 0x362c68)" * (cast_expression "(code **)(puVar15 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x362c68)" ( (binary_expression "puVar15 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar15 + 0x361f40) + 0x1b10,*(int *)(puVar15 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x1b10" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar15 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar15 + 0x361f40)" * (cast_expression "(int *)(puVar15 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x361f40)" ( (binary_expression "puVar15 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return MVar7;" return identifier ;) })))
(translation_unit "uint ImageToFile(int param_1,char *param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}\n\n" (function_definition "uint ImageToFile(int param_1,char *param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}" type_identifier (function_declarator "ImageToFile(int param_1,char *param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,char *param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "uint *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "int iStack_12c;" primitive_type identifier ;) (declaration "uint local_e8;" type_identifier identifier ;) (declaration "uint local_d4;" type_identifier identifier ;) (declaration "undefined1 auStack_d0 [56];" type_identifier (array_declarator "auStack_d0 [56]" identifier [ number_literal ]) ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar13 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar13 = PTR___stack_chk_guard_003a9230" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_003a9230" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" * (cast_expression "(int *)PTR___stack_chk_guard_003a9230" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_1 == 0) goto LAB_0004697c;" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004697c;" goto statement_identifier ;)) (if_statement "if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x336c)" * (cast_expression "(int *)(param_1 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x336c)" ( (binary_expression "param_1 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }" { (expression_statement "puVar11 = PTR_LAB_003a88e0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0" identifier = identifier) ;) (if_statement "if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3348) == 0)" ( (binary_expression "*(int *)(param_1 + 0x3348) == 0" (pointer_expression "*(int *)(param_1 + 0x3348)" * (cast_expression "(int *)(param_1 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3348)" ( (binary_expression "param_1 + 0x3348" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }" { (labeled_statement "LAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0)" (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 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1aec" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "puVar11 + 0x24e0" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_0004694c;" goto statement_identifier ;) })) (expression_statement "pcVar14 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar14 = (code *)PTR___assert_fail_003a9608" identifier = (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0" (pointer_expression "*(int *)(*(int *)(param_1 + 0x3348) + 0x40)" * (cast_expression "(int *)(*(int *)(param_1 + 0x3348) + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x3348) + 0x40)" ( (binary_expression "*(int *)(param_1 + 0x3348) + 0x40" (pointer_expression "*(int *)(param_1 + 0x3348)" * (cast_expression "(int *)(param_1 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3348)" ( (binary_expression "param_1 + 0x3348" identifier + number_literal) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }" { (labeled_statement "LAB_00046910:\n      puVar11 = puVar11 + 0x24e0;" statement_identifier : (expression_statement "puVar11 = puVar11 + 0x24e0;" (assignment_expression "puVar11 = puVar11 + 0x24e0" identifier = (binary_expression "puVar11 + 0x24e0" identifier + number_literal)) ;)) (expression_statement "(*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);" (call_expression "(*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1b10" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_0004692c;" goto statement_identifier ;) })) (if_statement "if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3350) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3350) != 0" (pointer_expression "*(int *)(param_1 + 0x3350)" * (cast_expression "(int *)(param_1 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3350)" ( (binary_expression "param_1 + 0x3350" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" (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_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , number_literal ))) ;) })) (if_statement "if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }" if (parenthesized_expression "(param_2 == (char *)0x0)" ( (binary_expression "param_2 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }" { (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0x24e0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0x24e0" identifier = (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal)) ;) (expression_statement "pcVar14 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar14 = (code *)PTR___assert_fail_003a9608" identifier = (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11)" (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 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1b68" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , identifier ))) ;) (goto_statement "goto LAB_00046910;" goto statement_identifier ;) })) (if_statement "if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" if (parenthesized_expression "(*param_2 == '\0')" ( (binary_expression "*param_2 == '\0'" (pointer_expression "*param_2" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);" (assignment_expression "iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2)" identifier = (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" ( (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" * (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2)" ( identifier )))) ;) (labeled_statement "LAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;" statement_identifier : (if_statement "if (iVar2 != -1) goto LAB_00046564;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00046564;" goto statement_identifier ;))) (labeled_statement "LAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" statement_identifier : (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar7 = (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 "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);" (assignment_expression "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (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 "(*puVar7)" ( (pointer_expression "*puVar7" * identifier) )))) ;) (expression_statement "uVar12 = 0x924;" (assignment_expression "uVar12 = 0x924" identifier = number_literal) ;) (labeled_statement "LAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);" statement_identifier : (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12)" (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_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , identifier ))) ;)) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar8);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar8)" (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 "(uVar8)" ( identifier ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" else (compound_statement "{\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" { (expression_statement "iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;) (if_statement "if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }" { (expression_statement "iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);" (assignment_expression "iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180)" identifier = (call_expression "(*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180)" (parenthesized_expression "(*(code *)PTR_open64_003a8e08)" ( (pointer_expression "*(code *)PTR_open64_003a8e08" * (cast_expression "(code *)PTR_open64_003a8e08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,0x502,0x180)" ( identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_00046558;" goto statement_identifier ;) })) (expression_statement "iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);" (assignment_expression "iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" identifier = (call_expression "(*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" (parenthesized_expression "(*(code *)PTR_fileno_003a99cc)" ( (pointer_expression "*(code *)PTR_fileno_003a99cc" * (cast_expression "(code *)PTR_fileno_003a99cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_stdout_003a8ee4)" ( (pointer_expression "*(undefined4 *)PTR_stdout_003a8ee4" * (cast_expression "(undefined4 *)PTR_stdout_003a8ee4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar2 == -1) goto LAB_00046774;" if (parenthesized_expression "(iVar2 == -1)" ( (binary_expression "iVar2 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00046774;" goto statement_identifier ;)) (labeled_statement "LAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);" statement_identifier : (expression_statement "iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);" (assignment_expression "iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0)" identifier = (call_expression "(*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0)" (parenthesized_expression "(*(code *)PTR___fxstat64_003a8ea8)" ( (pointer_expression "*(code *)PTR___fxstat64_003a8ea8" * (cast_expression "(code *)PTR___fxstat64_003a8ea8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3,iVar2,auStack_d0)" ( number_literal , identifier , identifier )))) ;)) (if_statement "if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" if (parenthesized_expression "(((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff))" ( (binary_expression "((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)" (parenthesized_expression "((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0))" ( (binary_expression "(iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)" ( (binary_expression "(uint)(local_94 - 1 < local_94) + local_98 + -1 == 0" (binary_expression "(uint)(local_94 - 1 < local_94) + local_98 + -1" (binary_expression "(uint)(local_94 - 1 < local_94) + local_98" (call_expression "(uint)(local_94 - 1 < local_94)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_94 - 1 < local_94)" ( (binary_expression "local_94 - 1 < local_94" (binary_expression "local_94 - 1" identifier - number_literal) < identifier) ))) + identifier) + number_literal) == number_literal) ))) )) && (parenthesized_expression "(local_94 - 1 < 0x13fff)" ( (binary_expression "local_94 - 1 < 0x13fff" (binary_expression "local_94 - 1" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }" { (expression_statement "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1)" identifier = (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,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 "(local_94,1)" ( identifier , number_literal )))) ;) (expression_statement "uVar6 = local_94;" (assignment_expression "uVar6 = local_94" identifier = identifier) ;) }) (else_clause "else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" else (compound_statement "{\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" { (expression_statement "uVar6 = 0x14000;" (assignment_expression "uVar6 = 0x14000" identifier = number_literal) ;) (expression_statement "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1)" identifier = (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,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 "(0x14000,1)" ( number_literal , number_literal )))) ;) }))) (if_statement "if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }" { (expression_statement "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);" (assignment_expression "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" identifier = (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" ( (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" * (cast_expression "(code *)PTR_ReadBlobStream_003a9098" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar6,iVar3,&local_d4)" ( identifier , identifier , identifier , (pointer_expression "&local_d4" & identifier) )))) ;) (if_statement "if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" if (parenthesized_expression "((int)local_d4 < 1)" ( (binary_expression "(int)local_d4 < 1" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }" { (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" statement_identifier : (expression_statement "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;)) (if_statement "if (iVar4 != 0) goto LAB_00046860;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00046860;" goto statement_identifier ;)) (labeled_statement "LAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" statement_identifier : (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;)) (labeled_statement "LAB_00046680:\n          uVar6 = 1;" statement_identifier : (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;)) (if_statement "if (local_e8 <= uVar15) goto LAB_00046710;" if (parenthesized_expression "(local_e8 <= uVar15)" ( (binary_expression "local_e8 <= uVar15" identifier <= identifier) )) (goto_statement "goto LAB_00046710;" goto statement_identifier ;)) }) (else_clause "else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" else (compound_statement "{\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" { (do_statement "do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);" do (compound_statement "{\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          }" { (expression_statement "uVar1 = local_d4;" (assignment_expression "uVar1 = local_d4" identifier = identifier) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "local_e8 = local_d4;" (assignment_expression "local_e8 = local_d4" identifier = identifier) ;) (do_statement "do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);" do (compound_statement "{\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            }" { (expression_statement "local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);" (assignment_expression "local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15)" identifier = (call_expression "(*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15)" (parenthesized_expression "(*(code *)PTR_write_003a9738)" ( (pointer_expression "*(code *)PTR_write_003a9738" * (cast_expression "(code *)PTR_write_003a9738" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2,iVar4 + uVar15,uVar1 - uVar15)" ( identifier , (binary_expression "iVar4 + uVar15" identifier + identifier) , (binary_expression "uVar1 - uVar15" identifier - identifier) )))) ;) (if_statement "if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }" if (parenthesized_expression "((int)local_d4 < 1)" ( (binary_expression "(int)local_d4 < 1" (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }" { (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" identifier = number_literal) ;) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_003a99b0)()" ( (type_descriptor "int *" primitive_type (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 "()" ( ))))) ;) (if_statement "if (*piVar5 != 4) goto LAB_00046650;" if (parenthesized_expression "(*piVar5 != 4)" ( (binary_expression "*piVar5 != 4" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_00046650;" goto statement_identifier ;)) }) (else_clause "else {\n                uVar15 = uVar15 + local_d4;\n              }" else (compound_statement "{\n                uVar15 = uVar15 + local_d4;\n              }" { (expression_statement "uVar15 = uVar15 + local_d4;" (assignment_expression "uVar15 = uVar15 + local_d4" identifier = (binary_expression "uVar15 + local_d4" identifier + identifier)) ;) }))) }) while (parenthesized_expression "(uVar15 < uVar1)" ( (binary_expression "uVar15 < uVar1" identifier < identifier) )) ;) (expression_statement "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);" (assignment_expression "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" identifier = (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" ( (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" * (cast_expression "(code *)PTR_ReadBlobStream_003a9098" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar6,iVar3,&local_d4)" ( identifier , identifier , identifier , (pointer_expression "&local_d4" & identifier) )))) ;) }) while (parenthesized_expression "(0 < (int)local_d4)" ( (binary_expression "0 < (int)local_d4" number_literal < (cast_expression "(int)local_d4" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (expression_statement "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" identifier = (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" ( (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" * (cast_expression "(code *)PTR_LocaleCompare_003a9110" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" ( identifier , (binary_expression "PTR_s_courses_003a88ec + -0x7ac" identifier + number_literal) )))) ;) (if_statement "if (iVar4 == 0) goto LAB_0004666c;" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0004666c;" goto statement_identifier ;)) (labeled_statement "LAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);" statement_identifier : (expression_statement "iVar2 = (*(code *)PTR_close_003a915c)(iVar2);" (assignment_expression "iVar2 = (*(code *)PTR_close_003a915c)(iVar2)" identifier = (call_expression "(*(code *)PTR_close_003a915c)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" ( (pointer_expression "*(code *)PTR_close_003a915c" * (cast_expression "(code *)PTR_close_003a915c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier )))) ;)) (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" ( (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" * (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if (iVar2 != -1) goto LAB_00046680;" if (parenthesized_expression "(iVar2 != -1)" ( (binary_expression "iVar2 != -1" identifier != number_literal) )) (goto_statement "goto LAB_00046680;" goto statement_identifier ;)) }))) (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar7 = (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 "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);" (assignment_expression "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" identifier = (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (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 "(*puVar7)" ( (pointer_expression "*puVar7" * identifier) )))) ;) (expression_statement "uVar12 = 0x94a;" (assignment_expression "uVar12 = 0x94a" identifier = number_literal) ;) (goto_statement "goto LAB_000466b4;" goto statement_identifier ;) })) (expression_statement "(*(code *)PTR_close_003a915c)(iVar2);" (call_expression "(*(code *)PTR_close_003a915c)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" ( (pointer_expression "*(code *)PTR_close_003a915c" * (cast_expression "(code *)PTR_close_003a915c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar2)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" (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_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x24d4" identifier + number_literal) , number_literal ))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }" if (parenthesized_expression "(local_2c == *(int *)puVar13)" ( (binary_expression "local_2c == *(int *)puVar13" identifier == (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return uVar6;\n    }" { (return_statement "return uVar6;" return identifier ;) }))) }) (else_clause "else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" else (compound_statement "{\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" { (labeled_statement "LAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" statement_identifier : (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal) ))) ;)) }))) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" * (cast_expression "(code *)PTR___stack_chk_fail_003a9064" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;" statement_identifier : (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0xdd0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0xdd0" identifier = (binary_expression "PTR_LAB_003a88e0 + 0xdd0" identifier + number_literal)) ;)) (expression_statement "puVar13 = PTR___assert_fail_003a9608;" (assignment_expression "puVar13 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" (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 "(puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x24e0" identifier + number_literal) ))) ;) (expression_statement "piVar5 = *(int **)(puVar13 + 0x362890);" (assignment_expression "piVar5 = *(int **)(puVar13 + 0x362890)" identifier = (pointer_expression "*(int **)(puVar13 + 0x362890)" * (cast_expression "(int **)(puVar13 + 0x362890)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362890)" ( (binary_expression "puVar13 + 0x362890" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *piVar5;" (assignment_expression "iVar2 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }" if (parenthesized_expression "(puVar11 == (undefined *)0x0)" ( (binary_expression "puVar11 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f40) + 0xdd0" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x2398" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "iVar3 = *(int *)(puVar13 + 0x361f40);" (assignment_expression "iVar3 = *(int *)(puVar13 + 0x361f40)" identifier = (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }" if (parenthesized_expression "(*(int *)(puVar11 + 0x336c) != -0x54535255)" ( (binary_expression "*(int *)(puVar11 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar11 + 0x336c)" * (cast_expression "(int *)(puVar11 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x336c)" ( (binary_expression "puVar11 + 0x336c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f48) + -0x3784" (pointer_expression "*(int *)(puVar13 + 0x361f48)" * (cast_expression "(int *)(puVar13 + 0x361f48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f48)" ( (binary_expression "puVar13 + 0x361f48" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "iVar4 = *(int *)(puVar11 + 0x3348);" (assignment_expression "iVar4 = *(int *)(puVar11 + 0x3348)" identifier = (pointer_expression "*(int *)(puVar11 + 0x3348)" * (cast_expression "(int *)(puVar11 + 0x3348)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x3348)" ( (binary_expression "puVar11 + 0x3348" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1aec" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" ( (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }" { (if_statement "if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar4 + 0x40) - 1U < 3)" ( (binary_expression "*(int *)(iVar4 + 0x40) - 1U < 3" (binary_expression "*(int *)(iVar4 + 0x40) - 1U" (pointer_expression "*(int *)(iVar4 + 0x40)" * (cast_expression "(int *)(iVar4 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x40)" ( (binary_expression "iVar4 + 0x40" identifier + number_literal) )))) - number_literal) < number_literal) )) (compound_statement "{\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }" { (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" identifier = (call_expression "(**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" (parenthesized_expression "(**(code **)(puVar13 + 0x362cd4))" ( (pointer_expression "**(code **)(puVar13 + 0x362cd4)" * (pointer_expression "*(code **)(puVar13 + 0x362cd4)" * (cast_expression "(code **)(puVar13 + 0x362cd4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362cd4)" ( (binary_expression "puVar13 + 0x362cd4" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar4 + 0x44))" ( (pointer_expression "*(undefined4 *)(iVar4 + 0x44)" * (cast_expression "(undefined4 *)(iVar4 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x44)" ( (binary_expression "iVar4 + 0x44" identifier + number_literal) )))) )))) ;) (if_statement "if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }" if (parenthesized_expression "(uVar6 != 0xffffffff)" ( (binary_expression "uVar6 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n        uVar6 = uVar6 & 0xff;\n      }" { (expression_statement "uVar6 = uVar6 & 0xff;" (assignment_expression "uVar6 = uVar6 & 0xff" identifier = (binary_expression "uVar6 & 0xff" identifier & number_literal)) ;) })) }) (else_clause "else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" else (compound_statement "{\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" { (expression_statement "pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();" (assignment_expression "pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))()" identifier = (cast_expression "(byte *)(**(code **)(puVar13 + 0x3626f8))()" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar13 + 0x3626f8))()" (parenthesized_expression "(**(code **)(puVar13 + 0x3626f8))" ( (pointer_expression "**(code **)(puVar13 + 0x3626f8)" * (pointer_expression "*(code **)(puVar13 + 0x3626f8)" * (cast_expression "(code **)(puVar13 + 0x3626f8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3626f8)" ( (binary_expression "puVar13 + 0x3626f8" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }" if (parenthesized_expression "(iStack_12c == 1)" ( (binary_expression "iStack_12c == 1" identifier == number_literal) )) (compound_statement "{\n        uVar6 = (uint)*pbVar9;\n      }" { (expression_statement "uVar6 = (uint)*pbVar9;" (assignment_expression "uVar6 = (uint)*pbVar9" identifier = (binary_expression "(uint)*pbVar9" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) }) (else_clause "else {\n        uVar6 = 0xffffffff;\n      }" else (compound_statement "{\n        uVar6 = 0xffffffff;\n      }" { (expression_statement "uVar6 = 0xffffffff;" (assignment_expression "uVar6 = 0xffffffff" identifier = number_literal) ;) }))) }))) (if_statement "if (iVar2 == *piVar5) {\n      return uVar6;\n    }" if (parenthesized_expression "(iVar2 == *piVar5)" ( (binary_expression "iVar2 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n      return uVar6;\n    }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "pcVar14 = *(code **)(puVar13 + 0x3626c4);" (assignment_expression "pcVar14 = *(code **)(puVar13 + 0x3626c4)" identifier = (pointer_expression "*(code **)(puVar13 + 0x3626c4)" * (cast_expression "(code **)(puVar13 + 0x3626c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x3626c4)" ( (binary_expression "puVar13 + 0x3626c4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar5 = *(int **)(pcVar14 + 0x362738);" (assignment_expression "piVar5 = *(int **)(pcVar14 + 0x362738)" identifier = (pointer_expression "*(int **)(pcVar14 + 0x362738)" * (cast_expression "(int **)(pcVar14 + 0x362738)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x362738)" ( (binary_expression "pcVar14 + 0x362738" identifier + number_literal) ))))) ;) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (if_statement "if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }" { (expression_statement "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);" (assignment_expression "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" identifier = (call_expression "(**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar14 + 0x362b10))" ( (pointer_expression "**(code **)(pcVar14 + 0x362b10)" * (pointer_expression "*(code **)(pcVar14 + 0x362b10)" * (cast_expression "(code **)(pcVar14 + 0x362b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x362b10)" ( (binary_expression "pcVar14 + 0x362b10" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" ( (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0xdd0" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" * (cast_expression "(int *)(iVar2 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x336c)" ( (binary_expression "iVar2 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }" { (expression_statement "puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))()" identifier = (cast_expression "(uint *)(**(code **)(pcVar14 + 0x3625a0))()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar14 + 0x3625a0))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x3625a0))" ( (pointer_expression "**(code **)(pcVar14 + 0x3625a0)" * (pointer_expression "*(code **)(pcVar14 + 0x3625a0)" * (cast_expression "(code **)(pcVar14 + 0x3625a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3625a0)" ( (binary_expression "pcVar14 + 0x3625a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }" if (parenthesized_expression "(iStack_164 == 4)" ( (binary_expression "iStack_164 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }" { (expression_statement "uVar6 = *puVar10;" (assignment_expression "uVar6 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (if_statement "if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(*(int *)(iVar2 + 0x25c) == 1)" ( (binary_expression "*(int *)(iVar2 + 0x25c) == 1" (pointer_expression "*(int *)(iVar2 + 0x25c)" * (cast_expression "(int *)(iVar2 + 0x25c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x25c)" ( (binary_expression "iVar2 + 0x25c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) })) }) (else_clause "else {\n        uVar6 = 0;\n      }" else (compound_statement "{\n        uVar6 = 0;\n      }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) }))) (if_statement "if (iVar3 == *piVar5) {\n        return uVar6;\n      }" if (parenthesized_expression "(iVar3 == *piVar5)" ( (binary_expression "iVar3 == *piVar5" identifier == (pointer_expression "*piVar5" * identifier)) )) (compound_statement "{\n        return uVar6;\n      }" { (return_statement "return uVar6;" return identifier ;) })) (expression_statement "(**(code **)(pcVar14 + 0x36256c))();" (call_expression "(**(code **)(pcVar14 + 0x36256c))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x36256c))" ( (pointer_expression "**(code **)(pcVar14 + 0x36256c)" * (pointer_expression "*(code **)(pcVar14 + 0x36256c)" * (cast_expression "(code **)(pcVar14 + 0x36256c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x36256c)" ( (binary_expression "pcVar14 + 0x36256c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);" (assignment_expression "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" identifier = (call_expression "(**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar14 + 0x362b10))" ( (pointer_expression "**(code **)(pcVar14 + 0x362b10)" * (pointer_expression "*(code **)(pcVar14 + 0x362b10)" * (cast_expression "(code **)(pcVar14 + 0x362b10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x362b10)" ( (binary_expression "pcVar14 + 0x362b10" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" ( (binary_expression "*(int *)(pcVar14 + 0x361df0) + -0x3784" (pointer_expression "*(int *)(pcVar14 + 0x361df0)" * (cast_expression "(int *)(pcVar14 + 0x361df0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361df0)" ( (binary_expression "pcVar14 + 0x361df0" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" * (cast_expression "(int *)(pcVar14 + 0x361de8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x361de8)" ( (binary_expression "pcVar14 + 0x361de8" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })) (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" identifier = (call_expression "(**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" ( (pointer_expression "**(code **)(puVar13 + 0x362c68)" * (pointer_expression "*(code **)(puVar13 + 0x362c68)" * (cast_expression "(code **)(puVar13 + 0x362c68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + 0x362c68)" ( (binary_expression "puVar13 + 0x362c68" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" ( (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1b10" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" * (cast_expression "(int *)(puVar13 + 0x361f40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + 0x361f40)" ( (binary_expression "puVar13 + 0x361f40" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x2398" identifier + number_literal) )))) ;) (return_statement "return uVar6;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (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) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression 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 ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_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 )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 = 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 , (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 (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (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 ( LIT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - LIT) < IDENT) ))) + IDENT) + LIT) == LIT) ))) )) && (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 , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 , (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + IDENT) , (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression LIT < (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 , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (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 = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (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 ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) }) (else_clause else (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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression 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 , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (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 ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) }) (else_clause else (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 ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 ( ))) ;) })) (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 ( (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 ( (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 ;) })))
(function_definition "uint ImageToFile(int param_1,char *param_2,undefined4 param_3)\n\n{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}" (type_identifier "uint") (function_declarator "ImageToFile(int param_1,char *param_2,undefined4 param_3)" (identifier "ImageToFile") (parameter_list "(int param_1,char *param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 uVar8;\n  byte *pbVar9;\n  uint *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  code *pcVar14;\n  uint uVar15;\n  int iStack_164;\n  int iStack_12c;\n  uint local_e8;\n  uint local_d4;\n  undefined1 auStack_d0 [56];\n  int local_98;\n  uint local_94;\n  int local_2c;\n  \n  puVar13 = PTR___stack_chk_guard_003a9230;\n  local_2c = *(int *)PTR___stack_chk_guard_003a9230;\n  if (param_1 == 0) goto LAB_0004697c;\n  if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }\n  (*(code *)PTR___stack_chk_fail_003a9064)();\nLAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;\n  puVar13 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);\n  piVar5 = *(int **)(puVar13 + 0x362890);\n  iVar2 = *piVar5;\n  if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }\n  iVar3 = *(int *)(puVar13 + 0x361f40);\n  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }\n  iVar4 = *(int *)(puVar11 + 0x3348);\n  if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }\n  if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }\n  uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);\n  return uVar6;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "uint *puVar10;" (type_identifier "uint") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int iStack_164;" (primitive_type "int") (identifier "iStack_164") (; ";")) (declaration "int iStack_12c;" (primitive_type "int") (identifier "iStack_12c") (; ";")) (declaration "uint local_e8;" (type_identifier "uint") (identifier "local_e8") (; ";")) (declaration "uint local_d4;" (type_identifier "uint") (identifier "local_d4") (; ";")) (declaration "undefined1 auStack_d0 [56];" (type_identifier "undefined1") (array_declarator "auStack_d0 [56]" (identifier "auStack_d0") ([ "[") (number_literal "56") (] "]")) (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar13 = PTR___stack_chk_guard_003a9230;" (assignment_expression "puVar13 = PTR___stack_chk_guard_003a9230" (identifier "puVar13") (= "=") (identifier "PTR___stack_chk_guard_003a9230")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_003a9230;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_003a9230" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003a9230" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003a9230" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003a9230")))) (; ";")) (if_statement "if (param_1 == 0) goto LAB_0004697c;" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004697c;" (goto "goto") (statement_identifier "LAB_0004697c") (; ";"))) (if_statement "if (*(int *)(param_1 + 0x336c) == -0x54535255) {\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }\n  else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x336c)" (* "*") (cast_expression "(int *)(param_1 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x336c)" (( "(") (binary_expression "param_1 + 0x336c" (identifier "param_1") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    puVar11 = PTR_LAB_003a88e0;\n    if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }\n    pcVar14 = (code *)PTR___assert_fail_003a9608;\n    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }\n    if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }\n    if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }\n    if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }\nLAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }\n  }" ({ "{") (expression_statement "puVar11 = PTR_LAB_003a88e0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0" (identifier "puVar11") (= "=") (identifier "PTR_LAB_003a88e0")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x3348) == 0) {\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3348) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3348) == 0" (pointer_expression "*(int *)(param_1 + 0x3348)" (* "*") (cast_expression "(int *)(param_1 + 0x3348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3348)" (( "(") (binary_expression "param_1 + 0x3348" (identifier "param_1") (+ "+") (number_literal "0x3348")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);\n      goto LAB_0004694c;\n    }" ({ "{") (labeled_statement "LAB_0004692c:\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);" (statement_identifier "LAB_0004692c") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0)" (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 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1aec" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x916") (, ",") (binary_expression "puVar11 + 0x24e0" (identifier "puVar11") (+ "+") (number_literal "0x24e0")) () ")"))) (; ";"))) (goto_statement "goto LAB_0004694c;" (goto "goto") (statement_identifier "LAB_0004694c") (; ";")) (} "}"))) (expression_statement "pcVar14 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar14 = (code *)PTR___assert_fail_003a9608" (identifier "pcVar14") (= "=") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) (; ";")) (if_statement "if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0" (pointer_expression "*(int *)(*(int *)(param_1 + 0x3348) + 0x40)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x3348) + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x3348) + 0x40)" (( "(") (binary_expression "*(int *)(param_1 + 0x3348) + 0x40" (pointer_expression "*(int *)(param_1 + 0x3348)" (* "*") (cast_expression "(int *)(param_1 + 0x3348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3348)" (( "(") (binary_expression "param_1 + 0x3348" (identifier "param_1") (+ "+") (number_literal "0x3348")) () ")")))) (+ "+") (number_literal "0x40")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00046910:\n      puVar11 = puVar11 + 0x24e0;\n      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);\n      goto LAB_0004692c;\n    }" ({ "{") (labeled_statement "LAB_00046910:\n      puVar11 = puVar11 + 0x24e0;" (statement_identifier "LAB_00046910") (: ":") (expression_statement "puVar11 = puVar11 + 0x24e0;" (assignment_expression "puVar11 = puVar11 + 0x24e0" (identifier "puVar11") (= "=") (binary_expression "puVar11 + 0x24e0" (identifier "puVar11") (+ "+") (number_literal "0x24e0"))) (; ";"))) (expression_statement "(*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);" (call_expression "(*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1b10" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1b10")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x917") (, ",") (identifier "puVar11") () ")"))) (; ";")) (goto_statement "goto LAB_0004692c;" (goto "goto") (statement_identifier "LAB_0004692c") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3350) != 0) {\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3350) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3350) != 0" (pointer_expression "*(int *)(param_1 + 0x3350)" (* "*") (cast_expression "(int *)(param_1 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3350)" (( "(") (binary_expression "param_1 + 0x3350" (identifier "param_1") (+ "+") (number_literal "0x3350")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);\n    }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" (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_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x24d4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x24d4")) (, ",") (number_literal "0x919") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == (char *)0x0) {\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }" (if "if") (parenthesized_expression "(param_2 == (char *)0x0)" (( "(") (binary_expression "param_2 == (char *)0x0" (identifier "param_2") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar11 = PTR_LAB_003a88e0 + 0x24e0;\n      pcVar14 = (code *)PTR___assert_fail_003a9608;\n      (*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);\n      goto LAB_00046910;\n    }" ({ "{") (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0x24e0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0x24e0" (identifier "puVar11") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0x24e0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x24e0"))) (; ";")) (expression_statement "pcVar14 = (code *)PTR___assert_fail_003a9608;" (assignment_expression "pcVar14 = (code *)PTR___assert_fail_003a9608" (identifier "pcVar14") (= "=") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11)" (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 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1b68" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1b68")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x91a") (, ",") (identifier "puVar11") () ")"))) (; ";")) (goto_statement "goto LAB_00046910;" (goto "goto") (statement_identifier "LAB_00046910") (; ";")) (} "}"))) (if_statement "if (*param_2 == '\0') {\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }\n    else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" (if "if") (parenthesized_expression "(*param_2 == '\0')" (( "(") (binary_expression "*param_2 == '\0'" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);\nLAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;\nLAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n      uVar12 = 0x924;\nLAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);\n      (*(code *)PTR_DestroyString_003a9074)(uVar8);\n      uVar6 = 0;\n    }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);" (assignment_expression "iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2)" (parenthesized_expression "(*(code *)PTR_AcquireUniqueFileResource_003a8e44)" (( "(") (pointer_expression "*(code *)PTR_AcquireUniqueFileResource_003a8e44" (* "*") (cast_expression "(code *)PTR_AcquireUniqueFileResource_003a8e44" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_AcquireUniqueFileResource_003a8e44"))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (labeled_statement "LAB_00046558:\n      if (iVar2 != -1) goto LAB_00046564;" (statement_identifier "LAB_00046558") (: ":") (if_statement "if (iVar2 != -1) goto LAB_00046564;" (if "if") (parenthesized_expression "(iVar2 != -1)" (( "(") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00046564;" (goto "goto") (statement_identifier "LAB_00046564") (; ";")))) (labeled_statement "LAB_00046774:\n      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (statement_identifier "LAB_00046774") (: ":") (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar7") (= "=") (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 "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);" (assignment_expression "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (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 "(*puVar7)" (( "(") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) () ")")))) (; ";")) (expression_statement "uVar12 = 0x924;" (assignment_expression "uVar12 = 0x924" (identifier "uVar12") (= "=") (number_literal "0x924")) (; ";")) (labeled_statement "LAB_000466b4:\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);" (statement_identifier "LAB_000466b4") (: ":") (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12)" (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_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12)" (( "(") (identifier "param_3") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x24d4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x24d4")) (, ",") (identifier "uVar12") () ")"))) (; ";"))) (expression_statement "(*(code *)PTR_DestroyString_003a9074)(uVar8);" (call_expression "(*(code *)PTR_DestroyString_003a9074)(uVar8)" (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 "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" (else "else") (compound_statement "{\n      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }\n      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);\n      if (iVar2 == -1) goto LAB_00046774;\nLAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);\n      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }\n      if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }\n      (*(code *)PTR_close_003a915c)(iVar2);\n      (*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);\n      uVar6 = 0;\n    }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x7ac" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x7ac")) () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);\n        goto LAB_00046558;\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);" (assignment_expression "iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180)" (parenthesized_expression "(*(code *)PTR_open64_003a8e08)" (( "(") (pointer_expression "*(code *)PTR_open64_003a8e08" (* "*") (cast_expression "(code *)PTR_open64_003a8e08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_open64_003a8e08"))) () ")")) (argument_list "(param_2,0x502,0x180)" (( "(") (identifier "param_2") (, ",") (number_literal "0x502") (, ",") (number_literal "0x180") () ")")))) (; ";")) (goto_statement "goto LAB_00046558;" (goto "goto") (statement_identifier "LAB_00046558") (; ";")) (} "}"))) (expression_statement "iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);" (assignment_expression "iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4)" (parenthesized_expression "(*(code *)PTR_fileno_003a99cc)" (( "(") (pointer_expression "*(code *)PTR_fileno_003a99cc" (* "*") (cast_expression "(code *)PTR_fileno_003a99cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fileno_003a99cc"))) () ")")) (argument_list "(*(undefined4 *)PTR_stdout_003a8ee4)" (( "(") (pointer_expression "*(undefined4 *)PTR_stdout_003a8ee4" (* "*") (cast_expression "(undefined4 *)PTR_stdout_003a8ee4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_003a8ee4"))) () ")")))) (; ";")) (if_statement "if (iVar2 == -1) goto LAB_00046774;" (if "if") (parenthesized_expression "(iVar2 == -1)" (( "(") (binary_expression "iVar2 == -1" (identifier "iVar2") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00046774;" (goto "goto") (statement_identifier "LAB_00046774") (; ";"))) (labeled_statement "LAB_00046564:\n      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);" (statement_identifier "LAB_00046564") (: ":") (expression_statement "iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);" (assignment_expression "iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0)" (parenthesized_expression "(*(code *)PTR___fxstat64_003a8ea8)" (( "(") (pointer_expression "*(code *)PTR___fxstat64_003a8ea8" (* "*") (cast_expression "(code *)PTR___fxstat64_003a8ea8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fxstat64_003a8ea8"))) () ")")) (argument_list "(3,iVar2,auStack_d0)" (( "(") (number_literal "3") (, ",") (identifier "iVar2") (, ",") (identifier "auStack_d0") () ")")))) (; ";"))) (if_statement "if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)) {\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }\n      else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" (if "if") (parenthesized_expression "(((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff))" (( "(") (binary_expression "((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&\n         (local_94 - 1 < 0x13fff)" (parenthesized_expression "((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0))" (( "(") (binary_expression "(iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)" (( "(") (binary_expression "(uint)(local_94 - 1 < local_94) + local_98 + -1 == 0" (binary_expression "(uint)(local_94 - 1 < local_94) + local_98 + -1" (binary_expression "(uint)(local_94 - 1 < local_94) + local_98" (call_expression "(uint)(local_94 - 1 < local_94)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_94 - 1 < local_94)" (( "(") (binary_expression "local_94 - 1 < local_94" (binary_expression "local_94 - 1" (identifier "local_94") (- "-") (number_literal "1")) (< "<") (identifier "local_94")) () ")"))) (+ "+") (identifier "local_98")) (+ "+") (number_literal "-1")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(local_94 - 1 < 0x13fff)" (( "(") (binary_expression "local_94 - 1 < 0x13fff" (binary_expression "local_94 - 1" (identifier "local_94") (- "-") (number_literal "1")) (< "<") (number_literal "0x13fff")) () ")"))) () ")")) (compound_statement "{\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);\n        uVar6 = local_94;\n      }" ({ "{") (expression_statement "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,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 "(local_94,1)" (( "(") (identifier "local_94") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar6 = local_94;" (assignment_expression "uVar6 = local_94" (identifier "uVar6") (= "=") (identifier "local_94")) (; ";")) (} "}")) (else_clause "else {\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" (else "else") (compound_statement "{\n        uVar6 = 0x14000;\n        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);\n      }" ({ "{") (expression_statement "uVar6 = 0x14000;" (assignment_expression "uVar6 = 0x14000" (identifier "uVar6") (= "=") (number_literal "0x14000")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);" (assignment_expression "iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,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 "(0x14000,1)" (( "(") (number_literal "0x14000") (, ",") (number_literal "1") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar3 != 0) {\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n        if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }\n        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();\n        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);\n        uVar12 = 0x94a;\n        goto LAB_000466b4;\n      }" ({ "{") (expression_statement "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);" (assignment_expression "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" (* "*") (cast_expression "(code *)PTR_ReadBlobStream_003a9098" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobStream_003a9098"))) () ")")) (argument_list "(param_1,uVar6,iVar3,&local_d4)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "iVar3") (, ",") (pointer_expression "&local_d4" (& "&") (identifier "local_d4")) () ")")))) (; ";")) (if_statement "if ((int)local_d4 < 1) {\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }\n        else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" (if "if") (parenthesized_expression "((int)local_d4 < 1)" (( "(") (binary_expression "(int)local_d4 < 1" (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          local_e8 = 0;\n          uVar15 = 0;\nLAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 != 0) goto LAB_00046860;\nLAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\nLAB_00046680:\n          uVar6 = 1;\n          if (local_e8 <= uVar15) goto LAB_00046710;\n        }" ({ "{") (expression_statement "local_e8 = 0;" (assignment_expression "local_e8 = 0" (identifier "local_e8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00046650:\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (statement_identifier "LAB_00046650") (: ":") (expression_statement "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x7ac" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x7ac")) () ")")))) (; ";"))) (if_statement "if (iVar4 != 0) goto LAB_00046860;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00046860;" (goto "goto") (statement_identifier "LAB_00046860") (; ";"))) (labeled_statement "LAB_0004666c:\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (statement_identifier "LAB_0004666c") (: ":") (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" (( "(") (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" (* "*") (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_RelinquishMagickMemory_003a8fc0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";"))) (labeled_statement "LAB_00046680:\n          uVar6 = 1;" (statement_identifier "LAB_00046680") (: ":") (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";"))) (if_statement "if (local_e8 <= uVar15) goto LAB_00046710;" (if "if") (parenthesized_expression "(local_e8 <= uVar15)" (( "(") (binary_expression "local_e8 <= uVar15" (identifier "local_e8") (<= "<=") (identifier "uVar15")) () ")")) (goto_statement "goto LAB_00046710;" (goto "goto") (statement_identifier "LAB_00046710") (; ";"))) (} "}")) (else_clause "else {\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" (else "else") (compound_statement "{\n          do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);\n          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);\n          if (iVar4 == 0) goto LAB_0004666c;\nLAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);\n          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);\n          if (iVar2 != -1) goto LAB_00046680;\n        }" ({ "{") (do_statement "do {\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          } while (0 < (int)local_d4);" (do "do") (compound_statement "{\n            uVar1 = local_d4;\n            uVar15 = 0;\n            local_e8 = local_d4;\n            do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);\n            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);\n          }" ({ "{") (expression_statement "uVar1 = local_d4;" (assignment_expression "uVar1 = local_d4" (identifier "uVar1") (= "=") (identifier "local_d4")) (; ";")) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e8 = local_d4;" (assignment_expression "local_e8 = local_d4" (identifier "local_e8") (= "=") (identifier "local_d4")) (; ";")) (do_statement "do {\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            } while (uVar15 < uVar1);" (do "do") (compound_statement "{\n              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);\n              if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }\n            }" ({ "{") (expression_statement "local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);" (assignment_expression "local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15)" (identifier "local_d4") (= "=") (call_expression "(*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15)" (parenthesized_expression "(*(code *)PTR_write_003a9738)" (( "(") (pointer_expression "*(code *)PTR_write_003a9738" (* "*") (cast_expression "(code *)PTR_write_003a9738" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_write_003a9738"))) () ")")) (argument_list "(iVar2,iVar4 + uVar15,uVar1 - uVar15)" (( "(") (identifier "iVar2") (, ",") (binary_expression "iVar4 + uVar15" (identifier "iVar4") (+ "+") (identifier "uVar15")) (, ",") (binary_expression "uVar1 - uVar15" (identifier "uVar1") (- "-") (identifier "uVar15")) () ")")))) (; ";")) (if_statement "if ((int)local_d4 < 1) {\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }\n              else {\n                uVar15 = uVar15 + local_d4;\n              }" (if "if") (parenthesized_expression "((int)local_d4 < 1)" (( "(") (binary_expression "(int)local_d4 < 1" (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                local_d4 = 0;\n                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();\n                if (*piVar5 != 4) goto LAB_00046650;\n              }" ({ "{") (expression_statement "local_d4 = 0;" (assignment_expression "local_d4 = 0" (identifier "local_d4") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "piVar5") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_003a99b0)()" (( "(") (type_descriptor "int *" (primitive_type "int") (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 "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*piVar5 != 4) goto LAB_00046650;" (if "if") (parenthesized_expression "(*piVar5 != 4)" (( "(") (binary_expression "*piVar5 != 4" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_00046650;" (goto "goto") (statement_identifier "LAB_00046650") (; ";"))) (} "}")) (else_clause "else {\n                uVar15 = uVar15 + local_d4;\n              }" (else "else") (compound_statement "{\n                uVar15 = uVar15 + local_d4;\n              }" ({ "{") (expression_statement "uVar15 = uVar15 + local_d4;" (assignment_expression "uVar15 = uVar15 + local_d4" (identifier "uVar15") (= "=") (binary_expression "uVar15 + local_d4" (identifier "uVar15") (+ "+") (identifier "local_d4"))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "(uVar15 < uVar1)" (( "(") (binary_expression "uVar15 < uVar1" (identifier "uVar15") (< "<") (identifier "uVar1")) () ")")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);" (assignment_expression "iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4)" (parenthesized_expression "(*(code *)PTR_ReadBlobStream_003a9098)" (( "(") (pointer_expression "*(code *)PTR_ReadBlobStream_003a9098" (* "*") (cast_expression "(code *)PTR_ReadBlobStream_003a9098" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ReadBlobStream_003a9098"))) () ")")) (argument_list "(param_1,uVar6,iVar3,&local_d4)" (( "(") (identifier "param_1") (, ",") (identifier "uVar6") (, ",") (identifier "iVar3") (, ",") (pointer_expression "&local_d4" (& "&") (identifier "local_d4")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(0 < (int)local_d4)" (( "(") (binary_expression "0 < (int)local_d4" (number_literal "0") (< "<") (cast_expression "(int)local_d4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d4"))) () ")")) (; ";")) (expression_statement "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);" (assignment_expression "iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac)" (parenthesized_expression "(*(code *)PTR_LocaleCompare_003a9110)" (( "(") (pointer_expression "*(code *)PTR_LocaleCompare_003a9110" (* "*") (cast_expression "(code *)PTR_LocaleCompare_003a9110" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LocaleCompare_003a9110"))) () ")")) (argument_list "(param_2,PTR_s_courses_003a88ec + -0x7ac)" (( "(") (identifier "param_2") (, ",") (binary_expression "PTR_s_courses_003a88ec + -0x7ac" (identifier "PTR_s_courses_003a88ec") (+ "+") (number_literal "-0x7ac")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) goto LAB_0004666c;" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004666c;" (goto "goto") (statement_identifier "LAB_0004666c") (; ";"))) (labeled_statement "LAB_00046860:\n          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);" (statement_identifier "LAB_00046860") (: ":") (expression_statement "iVar2 = (*(code *)PTR_close_003a915c)(iVar2);" (assignment_expression "iVar2 = (*(code *)PTR_close_003a915c)(iVar2)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_close_003a915c)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" (( "(") (pointer_expression "*(code *)PTR_close_003a915c" (* "*") (cast_expression "(code *)PTR_close_003a915c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_003a915c"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")")))) (; ";"))) (expression_statement "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);" (call_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3)" (parenthesized_expression "(*(code *)PTR_RelinquishMagickMemory_003a8fc0)" (( "(") (pointer_expression "*(code *)PTR_RelinquishMagickMemory_003a8fc0" (* "*") (cast_expression "(code *)PTR_RelinquishMagickMemory_003a8fc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_RelinquishMagickMemory_003a8fc0"))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (if_statement "if (iVar2 != -1) goto LAB_00046680;" (if "if") (parenthesized_expression "(iVar2 != -1)" (( "(") (binary_expression "iVar2 != -1" (identifier "iVar2") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_00046680;" (goto "goto") (statement_identifier "LAB_00046680") (; ";"))) (} "}")))) (expression_statement "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();" (assignment_expression "puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)()" (identifier "puVar7") (= "=") (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 "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);" (assignment_expression "uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7)" (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 "(*puVar7)" (( "(") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) () ")")))) (; ";")) (expression_statement "uVar12 = 0x94a;" (assignment_expression "uVar12 = 0x94a" (identifier "uVar12") (= "=") (number_literal "0x94a")) (; ";")) (goto_statement "goto LAB_000466b4;" (goto "goto") (statement_identifier "LAB_000466b4") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_close_003a915c)(iVar2);" (call_expression "(*(code *)PTR_close_003a915c)(iVar2)" (parenthesized_expression "(*(code *)PTR_close_003a915c)" (( "(") (pointer_expression "*(code *)PTR_close_003a915c" (* "*") (cast_expression "(code *)PTR_close_003a915c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_close_003a915c"))) () ")")) (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);" (call_expression "(*(code *)PTR_ThrowMagickException_003a8f20)\n                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" (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_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e)" (( "(") (identifier "param_3") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x24d4" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x24d4")) (, ",") (number_literal "0x92e") () ")"))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_00046710:\n    if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }" (statement_identifier "LAB_00046710") (: ":") (if_statement "if (local_2c == *(int *)puVar13) {\n      return uVar6;\n    }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar13)" (( "(") (binary_expression "local_2c == *(int *)puVar13" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar13" (* "*") (cast_expression "(int *)puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13")))) () ")")) (compound_statement "{\n      return uVar6;\n    }" ({ "{") (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" (else "else") (compound_statement "{\nLAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);\n  }" ({ "{") (labeled_statement "LAB_0004694c:\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" (statement_identifier "LAB_0004694c") (: ":") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,\n               0x915,PTR_LAB_003a88e0 + 0x24e0)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x915") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x24e0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x24e0")) () ")"))) (; ";"))) (} "}")))) (expression_statement "(*(code *)PTR___stack_chk_fail_003a9064)();" (call_expression "(*(code *)PTR___stack_chk_fail_003a9064)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003a9064)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003a9064" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003a9064" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003a9064"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0004697c:\n  puVar11 = PTR_LAB_003a88e0 + 0xdd0;" (statement_identifier "LAB_0004697c") (: ":") (expression_statement "puVar11 = PTR_LAB_003a88e0 + 0xdd0;" (assignment_expression "puVar11 = PTR_LAB_003a88e0 + 0xdd0" (identifier "puVar11") (= "=") (binary_expression "PTR_LAB_003a88e0 + 0xdd0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0xdd0"))) (; ";"))) (expression_statement "puVar13 = PTR___assert_fail_003a9608;" (assignment_expression "puVar13 = PTR___assert_fail_003a9608" (identifier "puVar13") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" (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 "(puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0)" (( "(") (identifier "puVar11") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x1ad8" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x914") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x24e0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x24e0")) () ")"))) (; ";")) (expression_statement "piVar5 = *(int **)(puVar13 + 0x362890);" (assignment_expression "piVar5 = *(int **)(puVar13 + 0x362890)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(puVar13 + 0x362890)" (* "*") (cast_expression "(int **)(puVar13 + 0x362890)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x362890)" (( "(") (binary_expression "puVar13 + 0x362890" (identifier "puVar13") (+ "+") (number_literal "0x362890")) () ")"))))) (; ";")) (expression_statement "iVar2 = *piVar5;" (assignment_expression "iVar2 = *piVar5" (identifier "iVar2") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (if_statement "if (puVar11 == (undefined *)0x0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }" (if "if") (parenthesized_expression "(puVar11 == (undefined *)0x0)" (( "(") (binary_expression "puVar11 == (undefined *)0x0" (identifier "puVar11") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);\n    return uVar6;\n  }" ({ "{") (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x362c68)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x362c68)" (* "*") (cast_expression "(code **)(puVar13 + 0x362c68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x362c68)" (( "(") (binary_expression "puVar13 + 0x362c68" (identifier "puVar13") (+ "+") (number_literal "0x362c68")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398)" (( "(") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0xdd0" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xf81") (, ",") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x2398" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x2398")) () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "iVar3 = *(int *)(puVar13 + 0x361f40);" (assignment_expression "iVar3 = *(int *)(puVar13 + 0x361f40)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar11 + 0x336c) != -0x54535255) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar11 + 0x336c) != -0x54535255)" (( "(") (binary_expression "*(int *)(puVar11 + 0x336c) != -0x54535255" (pointer_expression "*(int *)(puVar11 + 0x336c)" (* "*") (cast_expression "(int *)(puVar11 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x336c)" (( "(") (binary_expression "puVar11 + 0x336c" (identifier "puVar11") (+ "+") (number_literal "0x336c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);\n    return uVar6;\n  }" ({ "{") (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x362c68)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x362c68)" (* "*") (cast_expression "(code **)(puVar13 + 0x362c68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x362c68)" (( "(") (binary_expression "puVar13 + 0x362c68" (identifier "puVar13") (+ "+") (number_literal "0x362c68")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf82,iVar3 + 0x2398)" (( "(") (binary_expression "*(int *)(puVar13 + 0x361f48) + -0x3784" (pointer_expression "*(int *)(puVar13 + 0x361f48)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f48)" (( "(") (binary_expression "puVar13 + 0x361f48" (identifier "puVar13") (+ "+") (number_literal "0x361f48")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xf82") (, ",") (binary_expression "iVar3 + 0x2398" (identifier "iVar3") (+ "+") (number_literal "0x2398")) () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "iVar4 = *(int *)(puVar11 + 0x3348);" (assignment_expression "iVar4 = *(int *)(puVar11 + 0x3348)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(puVar11 + 0x3348)" (* "*") (cast_expression "(int *)(puVar11 + 0x3348)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar11 + 0x3348)" (( "(") (binary_expression "puVar11 + 0x3348" (identifier "puVar11") (+ "+") (number_literal "0x3348")) () ")"))))) (; ";")) (if_statement "if (iVar4 == 0) {\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);\n    return uVar6;\n  }" ({ "{") (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(puVar13 + 0x362c68))\n                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x362c68)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x362c68)" (* "*") (cast_expression "(code **)(puVar13 + 0x362c68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x362c68)" (( "(") (binary_expression "puVar13 + 0x362c68" (identifier "puVar13") (+ "+") (number_literal "0x362c68")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                       0xf83,iVar3 + 0x2398)" (( "(") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1aec" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x1aec")) (, ",") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xf83") (, ",") (binary_expression "iVar3 + 0x2398" (identifier "iVar3") (+ "+") (number_literal "0x2398")) () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar4 + 0x40) != 0) {\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) != 0)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) != 0" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }\n    if (iVar2 == *piVar5) {\n      return uVar6;\n    }\n    pcVar14 = *(code **)(puVar13 + 0x3626c4);\n    (*pcVar14)();\n    piVar5 = *(int **)(pcVar14 + 0x362738);\n    iVar3 = *piVar5;\n    if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }\n    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }\n    uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n    return uVar6;\n  }" ({ "{") (if_statement "if (*(int *)(iVar4 + 0x40) - 1U < 3) {\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }\n    else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar4 + 0x40) - 1U < 3)" (( "(") (binary_expression "*(int *)(iVar4 + 0x40) - 1U < 3" (binary_expression "*(int *)(iVar4 + 0x40) - 1U" (pointer_expression "*(int *)(iVar4 + 0x40)" (* "*") (cast_expression "(int *)(iVar4 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x40)" (( "(") (binary_expression "iVar4 + 0x40" (identifier "iVar4") (+ "+") (number_literal "0x40")) () ")")))) (- "-") (number_literal "1U")) (< "<") (number_literal "3")) () ")")) (compound_statement "{\n      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));\n      if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }\n    }" ({ "{") (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" (identifier "uVar6") (= "=") (call_expression "(**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44))" (parenthesized_expression "(**(code **)(puVar13 + 0x362cd4))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x362cd4)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x362cd4)" (* "*") (cast_expression "(code **)(puVar13 + 0x362cd4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x362cd4)" (( "(") (binary_expression "puVar13 + 0x362cd4" (identifier "puVar13") (+ "+") (number_literal "0x362cd4")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar4 + 0x44))" (( "(") (pointer_expression "*(undefined4 *)(iVar4 + 0x44)" (* "*") (cast_expression "(undefined4 *)(iVar4 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x44)" (( "(") (binary_expression "iVar4 + 0x44" (identifier "iVar4") (+ "+") (number_literal "0x44")) () ")")))) () ")")))) (; ";")) (if_statement "if (uVar6 != 0xffffffff) {\n        uVar6 = uVar6 & 0xff;\n      }" (if "if") (parenthesized_expression "(uVar6 != 0xffffffff)" (( "(") (binary_expression "uVar6 != 0xffffffff" (identifier "uVar6") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        uVar6 = uVar6 & 0xff;\n      }" ({ "{") (expression_statement "uVar6 = uVar6 & 0xff;" (assignment_expression "uVar6 = uVar6 & 0xff" (identifier "uVar6") (= "=") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" (else "else") (compound_statement "{\n      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();\n      if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }\n    }" ({ "{") (expression_statement "pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();" (assignment_expression "pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))()" (identifier "pbVar9") (= "=") (cast_expression "(byte *)(**(code **)(puVar13 + 0x3626f8))()" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar13 + 0x3626f8))()" (parenthesized_expression "(**(code **)(puVar13 + 0x3626f8))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x3626f8)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x3626f8)" (* "*") (cast_expression "(code **)(puVar13 + 0x3626f8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x3626f8)" (( "(") (binary_expression "puVar13 + 0x3626f8" (identifier "puVar13") (+ "+") (number_literal "0x3626f8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (iStack_12c == 1) {\n        uVar6 = (uint)*pbVar9;\n      }\n      else {\n        uVar6 = 0xffffffff;\n      }" (if "if") (parenthesized_expression "(iStack_12c == 1)" (( "(") (binary_expression "iStack_12c == 1" (identifier "iStack_12c") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        uVar6 = (uint)*pbVar9;\n      }" ({ "{") (expression_statement "uVar6 = (uint)*pbVar9;" (assignment_expression "uVar6 = (uint)*pbVar9" (identifier "uVar6") (= "=") (binary_expression "(uint)*pbVar9" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar9"))) (; ";")) (} "}")) (else_clause "else {\n        uVar6 = 0xffffffff;\n      }" (else "else") (compound_statement "{\n        uVar6 = 0xffffffff;\n      }" ({ "{") (expression_statement "uVar6 = 0xffffffff;" (assignment_expression "uVar6 = 0xffffffff" (identifier "uVar6") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (iVar2 == *piVar5) {\n      return uVar6;\n    }" (if "if") (parenthesized_expression "(iVar2 == *piVar5)" (( "(") (binary_expression "iVar2 == *piVar5" (identifier "iVar2") (== "==") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) () ")")) (compound_statement "{\n      return uVar6;\n    }" ({ "{") (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "pcVar14 = *(code **)(puVar13 + 0x3626c4);" (assignment_expression "pcVar14 = *(code **)(puVar13 + 0x3626c4)" (identifier "pcVar14") (= "=") (pointer_expression "*(code **)(puVar13 + 0x3626c4)" (* "*") (cast_expression "(code **)(puVar13 + 0x3626c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x3626c4)" (( "(") (binary_expression "puVar13 + 0x3626c4" (identifier "puVar13") (+ "+") (number_literal "0x3626c4")) () ")"))))) (; ";")) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar5 = *(int **)(pcVar14 + 0x362738);" (assignment_expression "piVar5 = *(int **)(pcVar14 + 0x362738)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(pcVar14 + 0x362738)" (* "*") (cast_expression "(int **)(pcVar14 + 0x362738)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x362738)" (( "(") (binary_expression "pcVar14 + 0x362738" (identifier "pcVar14") (+ "+") (number_literal "0x362738")) () ")"))))) (; ";")) (expression_statement "iVar3 = *piVar5;" (assignment_expression "iVar3 = *piVar5" (identifier "iVar3") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (if_statement "if (iVar2 == 0) {\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);\n      return uVar6;\n    }" ({ "{") (expression_statement "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);" (assignment_expression "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(pcVar14 + 0x362b10))\n                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar14 + 0x362b10))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x362b10)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x362b10)" (* "*") (cast_expression "(code **)(pcVar14 + 0x362b10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x362b10)" (( "(") (binary_expression "pcVar14 + 0x362b10" (identifier "pcVar14") (+ "+") (number_literal "0x362b10")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0xdd0" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" (* "*") (cast_expression "(int *)(pcVar14 + 0x361de8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x361de8)" (( "(") (binary_expression "pcVar14 + 0x361de8" (identifier "pcVar14") (+ "+") (number_literal "0x361de8")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" (* "*") (cast_expression "(int *)(pcVar14 + 0x361de8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x361de8)" (( "(") (binary_expression "pcVar14 + 0x361de8" (identifier "pcVar14") (+ "+") (number_literal "0x361de8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x1017") (, ",") (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" (* "*") (cast_expression "(int *)(pcVar14 + 0x361de8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x361de8)" (( "(") (binary_expression "pcVar14 + 0x361de8" (identifier "pcVar14") (+ "+") (number_literal "0x361de8")) () ")")))) (+ "+") (number_literal "0x2388")) () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar2 + 0x336c) == -0x54535255) {\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(iVar2 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x336c)" (* "*") (cast_expression "(int *)(iVar2 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x336c)" (( "(") (binary_expression "iVar2 + 0x336c" (identifier "iVar2") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();\n      if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }\n      if (iVar3 == *piVar5) {\n        return uVar6;\n      }\n      (**(code **)(pcVar14 + 0x36256c))();\n    }" ({ "{") (expression_statement "puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();" (assignment_expression "puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))()" (identifier "puVar10") (= "=") (cast_expression "(uint *)(**(code **)(pcVar14 + 0x3625a0))()" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar14 + 0x3625a0))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x3625a0))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x3625a0)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x3625a0)" (* "*") (cast_expression "(code **)(pcVar14 + 0x3625a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x3625a0)" (( "(") (binary_expression "pcVar14 + 0x3625a0" (identifier "pcVar14") (+ "+") (number_literal "0x3625a0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (iStack_164 == 4) {\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }\n      else {\n        uVar6 = 0;\n      }" (if "if") (parenthesized_expression "(iStack_164 == 4)" (( "(") (binary_expression "iStack_164 == 4" (identifier "iStack_164") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        uVar6 = *puVar10;\n        if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }\n      }" ({ "{") (expression_statement "uVar6 = *puVar10;" (assignment_expression "uVar6 = *puVar10" (identifier "uVar6") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (if_statement "if (*(int *)(iVar2 + 0x25c) == 1) {\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0x25c) == 1)" (( "(") (binary_expression "*(int *)(iVar2 + 0x25c) == 1" (pointer_expression "*(int *)(iVar2 + 0x25c)" (* "*") (cast_expression "(int *)(iVar2 + 0x25c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x25c)" (( "(") (binary_expression "iVar2 + 0x25c" (identifier "iVar2") (+ "+") (number_literal "0x25c")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        }" ({ "{") (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (identifier "uVar6") (= "=") (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" (( "(") (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" (( "(") (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        uVar6 = 0;\n      }" (else "else") (compound_statement "{\n        uVar6 = 0;\n      }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (iVar3 == *piVar5) {\n        return uVar6;\n      }" (if "if") (parenthesized_expression "(iVar3 == *piVar5)" (( "(") (binary_expression "iVar3 == *piVar5" (identifier "iVar3") (== "==") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) () ")")) (compound_statement "{\n        return uVar6;\n      }" ({ "{") (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar14 + 0x36256c))();" (call_expression "(**(code **)(pcVar14 + 0x36256c))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x36256c))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x36256c)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x36256c)" (* "*") (cast_expression "(code **)(pcVar14 + 0x36256c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x36256c)" (( "(") (binary_expression "pcVar14 + 0x36256c" (identifier "pcVar14") (+ "+") (number_literal "0x36256c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);" (assignment_expression "uVar6 = (**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(pcVar14 + 0x362b10))\n                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (parenthesized_expression "(**(code **)(pcVar14 + 0x362b10))" (( "(") (pointer_expression "**(code **)(pcVar14 + 0x362b10)" (* "*") (pointer_expression "*(code **)(pcVar14 + 0x362b10)" (* "*") (cast_expression "(code **)(pcVar14 + 0x362b10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar14 + 0x362b10)" (( "(") (binary_expression "pcVar14 + 0x362b10" (identifier "pcVar14") (+ "+") (number_literal "0x362b10")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,\n                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x361df0) + -0x3784" (pointer_expression "*(int *)(pcVar14 + 0x361df0)" (* "*") (cast_expression "(int *)(pcVar14 + 0x361df0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x361df0)" (( "(") (binary_expression "pcVar14 + 0x361df0" (identifier "pcVar14") (+ "+") (number_literal "0x361df0")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x1ad8" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" (* "*") (cast_expression "(int *)(pcVar14 + 0x361de8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x361de8)" (( "(") (binary_expression "pcVar14 + 0x361de8" (identifier "pcVar14") (+ "+") (number_literal "0x361de8")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0x1018") (, ",") (binary_expression "*(int *)(pcVar14 + 0x361de8) + 0x2388" (pointer_expression "*(int *)(pcVar14 + 0x361de8)" (* "*") (cast_expression "(int *)(pcVar14 + 0x361de8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x361de8)" (( "(") (binary_expression "pcVar14 + 0x361de8" (identifier "pcVar14") (+ "+") (number_literal "0x361de8")) () ")")))) (+ "+") (number_literal "0x2388")) () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}"))) (expression_statement "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398);" (assignment_expression "uVar6 = (**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(puVar13 + 0x362c68))\n                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" (parenthesized_expression "(**(code **)(puVar13 + 0x362c68))" (( "(") (pointer_expression "**(code **)(puVar13 + 0x362c68)" (* "*") (pointer_expression "*(code **)(puVar13 + 0x362c68)" (* "*") (cast_expression "(code **)(puVar13 + 0x362c68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar13 + 0x362c68)" (( "(") (binary_expression "puVar13 + 0x362c68" (identifier "puVar13") (+ "+") (number_literal "0x362c68")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,\n                     0xf84,iVar3 + 0x2398)" (( "(") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1b10" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x1b10")) (, ",") (binary_expression "*(int *)(puVar13 + 0x361f40) + 0x1ad8" (pointer_expression "*(int *)(puVar13 + 0x361f40)" (* "*") (cast_expression "(int *)(puVar13 + 0x361f40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar13 + 0x361f40)" (( "(") (binary_expression "puVar13 + 0x361f40" (identifier "puVar13") (+ "+") (number_literal "0x361f40")) () ")")))) (+ "+") (number_literal "0x1ad8")) (, ",") (number_literal "0xf84") (, ",") (binary_expression "iVar3 + 0x2398" (identifier "iVar3") (+ "+") (number_literal "0x2398")) () ")")))) (; ";")) (return_statement "return uVar6;" (return "return") (identifier "uVar6") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (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: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_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))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))))) (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: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (identifier)))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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))))) (labeled_statement label: (statement_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: (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: (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) (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 (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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 (number_literal) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) right: (identifier)) right: (number_literal)) right: (number_literal))))) right: (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) (number_literal))))) (expression_statement (assignment_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: (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) (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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) (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))) 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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (identifier)) (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_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: (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: (pointer_expression argument: (identifier)) 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)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (pointer_expression argument: (identifier))))))) condition: (parenthesized_expression (binary_expression left: (number_literal) 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) (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))) (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: (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: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (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)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))))) alternative: (else_clause (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (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: (pointer_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 (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (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: (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))))) (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: (parenthesized_expression (identifier)) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) 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: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_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))))) (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 (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 (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)))))

uint MASKED(int param_1,char *param_2,undefined4 param_3)

{
  uint uVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  uint uVar6;
  undefined4 *puVar7;
  undefined4 uVar8;
  byte *pbVar9;
  uint *puVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined *puVar13;
  code *pcVar14;
  uint uVar15;
  int iStack_164;
  int iStack_12c;
  uint local_e8;
  uint local_d4;
  undefined1 auStack_d0 [56];
  int local_98;
  uint local_94;
  int local_2c;
  
  puVar13 = PTR___stack_chk_guard_003a9230;
  local_2c = *(int *)PTR___stack_chk_guard_003a9230;
  if (param_1 == 0) goto LAB_0004697c;
  if (*(int *)(param_1 + 0x336c) == -0x54535255) {
    puVar11 = PTR_LAB_003a88e0;
    if (*(int *)(param_1 + 0x3348) == 0) {
LAB_0004692c:
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0x1aec,PTR_LAB_003a88e0 + 0x1ad8,0x916,puVar11 + 0x24e0);
      goto LAB_0004694c;
    }
    pcVar14 = (code *)PTR___assert_fail_003a9608;
    if (*(int *)(*(int *)(param_1 + 0x3348) + 0x40) == 0) {
LAB_00046910:
      puVar11 = puVar11 + 0x24e0;
      (*pcVar14)(PTR_LAB_003a88e0 + 0x1b10,PTR_LAB_003a88e0 + 0x1ad8,0x917,puVar11);
      goto LAB_0004692c;
    }
    if (*(int *)(param_1 + 0x3350) != 0) {
      (*(code *)PTR_LogMagickEvent_003a91e0)
                (0x8000,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x919);
    }
    if (param_2 == (char *)0x0) {
      puVar11 = PTR_LAB_003a88e0 + 0x24e0;
      pcVar14 = (code *)PTR___assert_fail_003a9608;
      (*(code *)PTR___assert_fail_003a9608)
                (PTR_LAB_003a88e0 + 0x1b68,PTR_LAB_003a88e0 + 0x1ad8,0x91a,puVar11);
      goto LAB_00046910;
    }
    if (*param_2 == '\0') {
      iVar2 = (*(code *)PTR_AcquireUniqueFileResource_003a8e44)(param_2);
LAB_00046558:
      if (iVar2 != -1) goto LAB_00046564;
LAB_00046774:
      puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
      uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);
      uVar12 = 0x924;
LAB_000466b4:
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,uVar12);
      (*(code *)PTR_DestroyString_003a9074)(uVar8);
      uVar6 = 0;
    }
    else {
      iVar2 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);
      if (iVar2 != 0) {
        iVar2 = (*(code *)PTR_open64_003a8e08)(param_2,0x502,0x180);
        goto LAB_00046558;
      }
      iVar2 = (*(code *)PTR_fileno_003a99cc)(*(undefined4 *)PTR_stdout_003a8ee4);
      if (iVar2 == -1) goto LAB_00046774;
LAB_00046564:
      iVar3 = (*(code *)PTR___fxstat64_003a8ea8)(3,iVar2,auStack_d0);
      if (((iVar3 == 0) && ((uint)(local_94 - 1 < local_94) + local_98 + -1 == 0)) &&
         (local_94 - 1 < 0x13fff)) {
        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(local_94,1);
        uVar6 = local_94;
      }
      else {
        uVar6 = 0x14000;
        iVar3 = (*(code *)PTR_AcquireQuantumMemory_003a950c)(0x14000,1);
      }
      if (iVar3 != 0) {
        iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);
        if ((int)local_d4 < 1) {
          local_e8 = 0;
          uVar15 = 0;
LAB_00046650:
          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);
          if (iVar4 != 0) goto LAB_00046860;
LAB_0004666c:
          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);
LAB_00046680:
          uVar6 = 1;
          if (local_e8 <= uVar15) goto LAB_00046710;
        }
        else {
          do {
            uVar1 = local_d4;
            uVar15 = 0;
            local_e8 = local_d4;
            do {
              local_d4 = (*(code *)PTR_write_003a9738)(iVar2,iVar4 + uVar15,uVar1 - uVar15);
              if ((int)local_d4 < 1) {
                local_d4 = 0;
                piVar5 = (int *)(*(code *)PTR___errno_location_003a99b0)();
                if (*piVar5 != 4) goto LAB_00046650;
              }
              else {
                uVar15 = uVar15 + local_d4;
              }
            } while (uVar15 < uVar1);
            iVar4 = (*(code *)PTR_ReadBlobStream_003a9098)(param_1,uVar6,iVar3,&local_d4);
          } while (0 < (int)local_d4);
          iVar4 = (*(code *)PTR_LocaleCompare_003a9110)(param_2,PTR_s_courses_003a88ec + -0x7ac);
          if (iVar4 == 0) goto LAB_0004666c;
LAB_00046860:
          iVar2 = (*(code *)PTR_close_003a915c)(iVar2);
          (*(code *)PTR_RelinquishMagickMemory_003a8fc0)(iVar3);
          if (iVar2 != -1) goto LAB_00046680;
        }
        puVar7 = (undefined4 *)(*(code *)PTR___errno_location_003a99b0)();
        uVar8 = (*(code *)PTR_GetExceptionMessage_003a93ec)(*puVar7);
        uVar12 = 0x94a;
        goto LAB_000466b4;
      }
      (*(code *)PTR_close_003a915c)(iVar2);
      (*(code *)PTR_ThrowMagickException_003a8f20)
                (param_3,PTR_LAB_003a88e0 + 0x1ad8,PTR_LAB_003a88e0 + 0x24d4,0x92e);
      uVar6 = 0;
    }
LAB_00046710:
    if (local_2c == *(int *)puVar13) {
      return uVar6;
    }
  }
  else {
LAB_0004694c:
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x3784,PTR_LAB_003a88e0 + 0x1ad8,
               0x915,PTR_LAB_003a88e0 + 0x24e0);
  }
  (*(code *)PTR___stack_chk_fail_003a9064)();
LAB_0004697c:
  puVar11 = PTR_LAB_003a88e0 + 0xdd0;
  puVar13 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)
            (puVar11,PTR_LAB_003a88e0 + 0x1ad8,0x914,PTR_LAB_003a88e0 + 0x24e0);
  piVar5 = *(int **)(puVar13 + 0x362890);
  iVar2 = *piVar5;
  if (puVar11 == (undefined *)0x0) {
    uVar6 = (**(code **)(puVar13 + 0x362c68))
                      (*(int *)(puVar13 + 0x361f40) + 0xdd0,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                       0xf81,*(int *)(puVar13 + 0x361f40) + 0x2398);
    return uVar6;
  }
  iVar3 = *(int *)(puVar13 + 0x361f40);
  if (*(int *)(puVar11 + 0x336c) != -0x54535255) {
    uVar6 = (**(code **)(puVar13 + 0x362c68))
                      (*(int *)(puVar13 + 0x361f48) + -0x3784,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                       0xf82,iVar3 + 0x2398);
    return uVar6;
  }
  iVar4 = *(int *)(puVar11 + 0x3348);
  if (iVar4 == 0) {
    uVar6 = (**(code **)(puVar13 + 0x362c68))
                      (*(int *)(puVar13 + 0x361f40) + 0x1aec,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                       0xf83,iVar3 + 0x2398);
    return uVar6;
  }
  if (*(int *)(iVar4 + 0x40) != 0) {
    if (*(int *)(iVar4 + 0x40) - 1U < 3) {
      uVar6 = (**(code **)(puVar13 + 0x362cd4))(*(undefined4 *)(iVar4 + 0x44));
      if (uVar6 != 0xffffffff) {
        uVar6 = uVar6 & 0xff;
      }
    }
    else {
      pbVar9 = (byte *)(**(code **)(puVar13 + 0x3626f8))();
      if (iStack_12c == 1) {
        uVar6 = (uint)*pbVar9;
      }
      else {
        uVar6 = 0xffffffff;
      }
    }
    if (iVar2 == *piVar5) {
      return uVar6;
    }
    pcVar14 = *(code **)(puVar13 + 0x3626c4);
    (*pcVar14)();
    piVar5 = *(int **)(pcVar14 + 0x362738);
    iVar3 = *piVar5;
    if (iVar2 == 0) {
      uVar6 = (**(code **)(pcVar14 + 0x362b10))
                        (*(int *)(pcVar14 + 0x361de8) + 0xdd0,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,
                         0x1017,*(int *)(pcVar14 + 0x361de8) + 0x2388);
      return uVar6;
    }
    if (*(int *)(iVar2 + 0x336c) == -0x54535255) {
      puVar10 = (uint *)(**(code **)(pcVar14 + 0x3625a0))();
      if (iStack_164 == 4) {
        uVar6 = *puVar10;
        if (*(int *)(iVar2 + 0x25c) == 1) {
          uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
        }
      }
      else {
        uVar6 = 0;
      }
      if (iVar3 == *piVar5) {
        return uVar6;
      }
      (**(code **)(pcVar14 + 0x36256c))();
    }
    uVar6 = (**(code **)(pcVar14 + 0x362b10))
                      (*(int *)(pcVar14 + 0x361df0) + -0x3784,*(int *)(pcVar14 + 0x361de8) + 0x1ad8,
                       0x1018,*(int *)(pcVar14 + 0x361de8) + 0x2388);
    return uVar6;
  }
  uVar6 = (**(code **)(puVar13 + 0x362c68))
                    (*(int *)(puVar13 + 0x361f40) + 0x1b10,*(int *)(puVar13 + 0x361f40) + 0x1ad8,
                     0xf84,iVar3 + 0x2398);
  return uVar6;
}

