
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

MagickBooleanType SetImageInfo(ImageInfo *image_info,uint frames,ExceptionInfo *exception)

{
  int iVar1;
  byte bVar2;
  ExceptionInfo *pEVar3;
  MagickBooleanType MVar4;
  MagickInfo *pMVar5;
  DelegateInfo *pDVar6;
  size_t sVar7;
  Image *image;
  uchar *magic_00;
  MagicInfo *magic_info;
  char *pcVar8;
  ulong uVar9;
  ushort **ppuVar10;
  uint uVar11;
  uint uVar12;
  char *pcVar13;
  uint uVar14;
  int iVar15;
  int iVar16;
  byte bVar17;
  ulong uVar18;
  byte *__nptr;
  int in_GS_OFFSET;
  char *q;
  char component [4096];
  char magic [4096];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,
                  "SetImageInfo");
  }
  pcVar8 = image_info->filename;
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);
  }
  component[0] = '\0';
  GetPathComponent(pcVar8,SubimagePath,component);
  if (component[0] != '\0') {
    MVar4 = IsSceneGeometry(component,MagickFalse);
    if (MVar4 == MagickFalse) {
      MVar4 = IsGeometry(component);
      if (MVar4 != MagickFalse) {
        CloneString(&image_info->extract,component);
      }
    }
    else {
      CloneString(&image_info->scenes,component);
      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);
      __nptr = (byte *)image_info->scenes;
      image_info->scene = uVar9;
      image_info->number_scenes = uVar9;
      bVar17 = *__nptr;
      uVar18 = uVar9;
      q = (char *)__nptr;
      if (bVar17 != 0) {
        ppuVar10 = __ctype_b_loc();
        while( true ) {
          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)
                 )) {
            __nptr = __nptr + 1;
            bVar17 = *__nptr;
          }
          uVar11 = strtol((char *)__nptr,&q,10);
          bVar17 = *q;
          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);
          while ((bVar2 & 0x20) != 0) {
            q = (char *)((byte *)q + 1);
            bVar17 = *q;
            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);
          }
          uVar12 = uVar11;
          if ((bVar17 == 0x2d) &&
             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {
            uVar12 = uVar11;
            uVar11 = uVar14;
          }
          if (uVar12 < image_info->scene) {
            image_info->scene = uVar12;
          }
          if (image_info->number_scenes < uVar11) {
            image_info->number_scenes = uVar11;
          }
          __nptr = (byte *)(q + 1);
          if (*q == '\0') break;
          bVar17 = q[1];
        }
        uVar9 = image_info->number_scenes;
        uVar18 = image_info->scene;
      }
      image_info->number_scenes = (uVar9 + 1) - uVar18;
    }
  }
  component[0] = '\0';
  if (image_info->magick[0] == '\0') {
    GetPathComponent(pcVar8,ExtensionPath,component);
  }
  image_info->affirm = MagickFalse;
  pEVar3 = AcquireExceptionInfo();
  if (component[0] != '\0') {
    MVar4 = IsGlob(component);
    if (MVar4 == MagickFalse) {
      CopyMagickString(magic,component,0x1000);
      LocaleUpper(magic);
      pMVar5 = GetMagickInfo(magic,pEVar3);
      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {
        iVar16 = 1;
        pcVar13 = "AUTOTRACE";
        do {
          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))
          goto LAB_000e7e3c;
          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];
          iVar16 = iVar16 + 1;
        } while (pcVar13 != (char *)0x0);
LAB_000e7e43:
        CopyMagickString(image_info->magick,magic,0x1000);
      }
      else if (pMVar5->format_type == ExplicitFormatType) {
LAB_000e7e3c:
        image_info->affirm = MagickTrue;
        goto LAB_000e7e43;
      }
      iVar16 = LocaleCompare(magic,"RGB");
      if (iVar16 == 0) {
        image_info->affirm = MagickFalse;
      }
    }
  }
  magic[0] = '\0';
  GetPathComponent(pcVar8,MagickPath,magic);
  if (magic[0] == '\0') {
    CopyMagickString(magic,image_info->magick,0x1000);
    pMVar5 = GetMagickInfo(magic,pEVar3);
    if (frames == 0) {
      GetPathComponent(pcVar8,CanonicalPath,component);
    }
    else {
      GetPathComponent(pcVar8,SubcanonicalPath,component);
    }
LAB_000e77cf:
    CopyMagickString(pcVar8,component,0x1000);
LAB_000e7842:
    DestroyExceptionInfo(pEVar3);
    if ((pMVar5 == (MagickInfo *)0x0) ||
       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;
  }
  else {
    LocaleUpper(magic);
    pMVar5 = GetMagickInfo(magic,pEVar3);
    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);
    if (((pDVar6 != (DelegateInfo *)0x0) ||
        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||
       (pDVar6 != (DelegateInfo *)0x0)) {
      MVar4 = IsMagickConflict(magic);
      if (MVar4 == MagickFalse) {
        image_info->affirm = MagickTrue;
        CopyMagickString(image_info->magick,magic,0x1000);
        GetPathComponent(pcVar8,CanonicalPath,component);
        goto LAB_000e77cf;
      }
      goto LAB_000e7842;
    }
    pMVar5 = (MagickInfo *)0x0;
    DestroyExceptionInfo(pEVar3);
LAB_000e7865:
    image_info->endian = UndefinedEndian;
  }
  MVar4 = image_info->adjoin;
  if ((frames < 2) || (MVar4 == MagickFalse)) {
LAB_000e7881:
    if (MVar4 == MagickFalse) {
      if (frames == 0 && image_info->affirm == MagickFalse) {
LAB_000e78a3:
        sVar7 = GetMagicPatternExtent(exception);
        MVar4 = MagickFalse;
        if (sVar7 == 0) goto LAB_000e7ac5;
        image = AcquireImage(image_info,exception);
        CopyMagickString(image->filename,pcVar8,0x1000);
        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
        if (MVar4 == MagickFalse) {
          DestroyImage(image);
          MVar4 = MagickFalse;
          goto LAB_000e7ac5;
        }
        MVar4 = IsBlobSeekable(image);
        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {
          component[0] = '\0';
          MVar4 = ImageToFile(image,component,exception);
          CloseBlob(image);
          if (MVar4 == MagickFalse) {
            RelinquishUniqueFileResource(component);
            DestroyImage(image);
            MVar4 = MagickFalse;
            goto LAB_000e7ac5;
          }
          SetImageInfoFile(image_info,(FILE *)0x0);
          CopyMagickString(image->filename,component,0x1000);
          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);
          if (MVar4 == MagickFalse) {
            RelinquishUniqueFileResource(component);
            DestroyImage(image);
            MVar4 = MagickFalse;
            goto LAB_000e7ac5;
          }
          CopyMagickString(pcVar8,component,0x1000);
          image_info->temporary = MagickTrue;
        }
        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);
        if (magic_00 == (uchar *)0x0) {
          CloseBlob(image);
          DestroyImage(image);
          MVar4 = MagickFalse;
          goto LAB_000e7ac5;
        }
        memset(magic_00,0,sVar7);
        sVar7 = ReadBlob(image,sVar7,magic_00);
        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);
        CloseBlob(image);
        DestroyImage(image);
        pEVar3 = AcquireExceptionInfo();
        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);
        RelinquishMagickMemory(magic_00);
        if ((magic_info == (MagicInfo *)0x0) ||
           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {
          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);
          if (pMVar5 != (MagickInfo *)0x0) {
            MVar4 = GetMagickEndianSupport(pMVar5);
            goto joined_r0x000e7f90;
          }
LAB_000e7a51:
          image_info->endian = UndefinedEndian;
        }
        else {
          if ((pMVar5 == (MagickInfo *)0x0) ||
             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {
LAB_000e7a0e:
            pcVar8 = GetMagicName(magic_info);
            CopyMagickString(image_info->magick,pcVar8,0x1000);
            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);
            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;
          }
          else {
            pcVar8 = GetMagicName(magic_info);
            iVar16 = LocaleCompare(pMVar5->module,pcVar8);
            if (iVar16 != 0) goto LAB_000e7a0e;
            CopyMagickString(image_info->magick,pMVar5->name,0x1000);
          }
          MVar4 = GetMagickEndianSupport(pMVar5);
joined_r0x000e7f90:
          if (MVar4 == MagickFalse) goto LAB_000e7a51;
        }
        DestroyExceptionInfo(pEVar3);
        MVar4 = MagickTrue;
        goto LAB_000e7ac5;
      }
    }
    else if (frames == 0) {
      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;
    }
    else {
      pMVar5 = GetMagickInfo(magic,exception);
      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))
      goto LAB_000e7ab4;
    }
  }
  else {
    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);
    iVar16 = LocaleCompare(component,pcVar8);
    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {
      MVar4 = image_info->adjoin;
      goto LAB_000e7881;
    }
LAB_000e7ab4:
    image_info->adjoin = MagickFalse;
  }
  MVar4 = MagickTrue;
LAB_000e7ac5:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return MVar4;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

undefined4 SetImageInfo(int param_1,uint param_2,undefined4 param_3)

{
  byte bVar1;
  undefined4 uVar2;
  int iVar3;
  undefined4 *puVar4;
  size_t __n;
  int iVar5;
  void *__s;
  int iVar6;
  undefined4 uVar7;
  ulong uVar8;
  ushort **ppuVar9;
  uint uVar10;
  uint uVar11;
  char *pcVar12;
  uint uVar13;
  byte bVar14;
  ulong uVar15;
  byte *__nptr;
  int in_GS_OFFSET;
  byte *local_2024;
  char local_2020 [4096];
  char local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0xe7689;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,
                  "SetImageInfo");
  }
  iVar6 = param_1 + 0x21f0;
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);
  }
  local_2020[0] = '\0';
  GetPathComponent(iVar6,7,local_2020);
  if (local_2020[0] != '\0') {
    iVar3 = IsSceneGeometry(local_2020,0);
    if (iVar3 == 0) {
      iVar3 = IsGeometry(local_2020);
      if (iVar3 != 0) {
        CloneString(param_1 + 0x1c,local_2020);
      }
    }
    else {
      CloneString(param_1 + 0x24,local_2020);
      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);
      __nptr = *(byte **)(param_1 + 0x24);
      *(ulong *)(param_1 + 0x28) = uVar8;
      *(ulong *)(param_1 + 0x2c) = uVar8;
      bVar14 = *__nptr;
      uVar15 = uVar8;
      local_2024 = __nptr;
      if (bVar14 != 0) {
        ppuVar9 = __ctype_b_loc();
        while( true ) {
          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))
                ) {
            __nptr = __nptr + 1;
            bVar14 = *__nptr;
          }
          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);
          bVar14 = *local_2024;
          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);
          while ((bVar1 & 0x20) != 0) {
            local_2024 = local_2024 + 1;
            bVar14 = *local_2024;
            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);
          }
          uVar11 = uVar10;
          if ((bVar14 == 0x2d) &&
             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,
             uVar10 <= uVar13)) {
            uVar11 = uVar10;
            uVar10 = uVar13;
          }
          if (uVar11 < *(uint *)(param_1 + 0x28)) {
            *(uint *)(param_1 + 0x28) = uVar11;
          }
          if (*(uint *)(param_1 + 0x2c) < uVar10) {
            *(uint *)(param_1 + 0x2c) = uVar10;
          }
          __nptr = local_2024 + 1;
          if (*local_2024 == 0) break;
          bVar14 = local_2024[1];
        }
        uVar8 = *(ulong *)(param_1 + 0x2c);
        uVar15 = *(ulong *)(param_1 + 0x28);
      }
      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;
    }
  }
  local_2020[0] = '\0';
  if (*(char *)(param_1 + 0x1f0) == '\0') {
    GetPathComponent(iVar6,6,local_2020);
  }
  *(undefined4 *)(param_1 + 0x10) = 0;
  uVar2 = AcquireExceptionInfo();
  if (local_2020[0] != '\0') {
    iVar3 = FUN_001a30a0(local_2020);
    if (iVar3 == 0) {
      CopyMagickString(local_1020,local_2020,0x1000);
      LocaleUpper(local_1020);
      iVar3 = GetMagickInfo(local_1020,uVar2);
      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {
        iVar3 = 1;
        pcVar12 = "AUTOTRACE";
        do {
          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)
             ) goto LAB_000e7e3c;
          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];
          iVar3 = iVar3 + 1;
        } while (pcVar12 != (char *)0x0);
LAB_000e7e43:
        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);
      }
      else if (*(int *)(iVar3 + 0x28) == 2) {
LAB_000e7e3c:
        *(undefined4 *)(param_1 + 0x10) = 1;
        goto LAB_000e7e43;
      }
      iVar3 = LocaleCompare(local_1020,"RGB");
      if (iVar3 == 0) {
        *(undefined4 *)(param_1 + 0x10) = 0;
      }
    }
  }
  local_1020[0] = '\0';
  GetPathComponent(iVar6,1,local_1020);
  if (local_1020[0] == '\0') {
    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);
    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);
    if (param_2 == 0) {
      GetPathComponent(iVar6,8,local_2020);
    }
    else {
      GetPathComponent(iVar6,9,local_2020);
    }
LAB_000e77cf:
    CopyMagickString(iVar6,local_2020,0x1000);
LAB_000e7842:
    DestroyExceptionInfo(uVar2);
    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))
    goto LAB_000e7865;
  }
  else {
    LocaleUpper(local_1020);
    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);
    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);
    if (((iVar3 != 0) ||
        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||
       (iVar3 != 0)) {
      iVar3 = FUN_000f75b0(local_1020);
      if (iVar3 == 0) {
        *(undefined4 *)(param_1 + 0x10) = 1;
        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);
        GetPathComponent(iVar6,8,local_2020);
        goto LAB_000e77cf;
      }
      goto LAB_000e7842;
    }
    puVar4 = (undefined4 *)0x0;
    DestroyExceptionInfo(uVar2);
LAB_000e7865:
    *(undefined4 *)(param_1 + 0x38) = 0;
  }
  iVar3 = *(int *)(param_1 + 0xc);
  if ((param_2 < 2) || (iVar3 == 0)) {
LAB_000e7881:
    if (iVar3 == 0) {
      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {
LAB_000e78a3:
        __n = GetMagicPatternExtent(param_3);
        uVar2 = 0;
        if (__n == 0) goto LAB_000e7ac5;
        iVar3 = AcquireImage(param_1,param_3);
        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);
        iVar5 = OpenBlob(param_1,iVar3,2,param_3);
        if (iVar5 == 0) {
          DestroyImage(iVar3);
          uVar2 = 0;
          goto LAB_000e7ac5;
        }
        iVar5 = IsBlobSeekable(iVar3);
        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {
          local_2020[0] = '\0';
          iVar5 = ImageToFile(iVar3,local_2020,param_3);
          CloseBlob(iVar3);
          if (iVar5 == 0) {
            RelinquishUniqueFileResource(local_2020);
            DestroyImage(iVar3);
            uVar2 = 0;
            goto LAB_000e7ac5;
          }
          SetImageInfoFile(param_1,0);
          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);
          iVar5 = OpenBlob(param_1,iVar3,2,param_3);
          if (iVar5 == 0) {
            RelinquishUniqueFileResource(local_2020);
            DestroyImage(iVar3);
            uVar2 = 0;
            goto LAB_000e7ac5;
          }
          CopyMagickString(iVar6,local_2020,0x1000);
          *(undefined4 *)(param_1 + 8) = 1;
        }
        __s = (void *)AcquireQuantumMemory(1,__n);
        if (__s == (void *)0x0) {
          CloseBlob(iVar3);
          DestroyImage(iVar3);
          uVar2 = 0;
          goto LAB_000e7ac5;
        }
        memset(__s,0,__n);
        iVar6 = ReadBlob(iVar3,__n,__s);
        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);
        CloseBlob(iVar3);
        DestroyImage(iVar3);
        uVar2 = AcquireExceptionInfo();
        iVar6 = GetMagicInfo(__s,iVar6,uVar2);
        RelinquishMagickMemory(__s);
        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {
          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);
          if (iVar6 != 0) {
            iVar6 = GetMagickEndianSupport(iVar6);
            goto joined_r0x000e7f90;
          }
LAB_000e7a51:
          *(undefined4 *)(param_1 + 0x38) = 0;
        }
        else {
          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))
          {
LAB_000e7a0e:
            uVar7 = GetMagicName(iVar6);
            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);
            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);
            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;
          }
          else {
            uVar7 = GetMagicName(iVar6);
            iVar3 = LocaleCompare(puVar4[5],uVar7);
            if (iVar3 != 0) goto LAB_000e7a0e;
            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);
          }
          iVar6 = GetMagickEndianSupport(puVar4);
joined_r0x000e7f90:
          if (iVar6 == 0) goto LAB_000e7a51;
        }
        DestroyExceptionInfo(uVar2);
        uVar2 = 1;
        goto LAB_000e7ac5;
      }
    }
    else if (param_2 == 0) {
      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;
    }
    else {
      iVar6 = GetMagickInfo(local_1020,param_3);
      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;
    }
  }
  else {
    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);
    iVar3 = LocaleCompare(local_2020,iVar6);
    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {
      iVar3 = *(int *)(param_1 + 0xc);
      goto LAB_000e7881;
    }
LAB_000e7ab4:
    *(undefined4 *)(param_1 + 0xc) = 0;
  }
  uVar2 = 1;
LAB_000e7ac5:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar2;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x2f1977
SUB ESP,0x203c
MOV EAX,dword ptr [ESP + 0x2058]
MOV EBP,dword ptr [ESP + 0x2050]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x202c],EAX
XOR EAX,EAX
TEST EBP,EBP
JZ 0x000e8032
CMP dword ptr [EBP + 0x31f4],0xabacadab
JNZ 0x000e8013
MOV ECX,dword ptr [EBP + 0x31f0]
LEA EAX,[EBP + 0x21f0]
MOV dword ptr [ESP + 0x8],EAX
TEST ECX,ECX
JNZ 0x000e7c50
MOV byte ptr [ESP + 0x2c],0x0
SUB ESP,0x4
LEA EAX,[ESP + 0x30]
MOV dword ptr [ESP + 0x10],EAX
PUSH EAX
PUSH 0x7
PUSH dword ptr [ESP + 0x14]
CALL 0x00033270
ADD ESP,0x10
CMP byte ptr [ESP + 0x2c],0x0
JNZ 0x000e7b28
CMP byte ptr [EBP + 0x1f0],0x0
MOV byte ptr [ESP + 0x2c],0x0
JZ 0x000e7b08
MOV dword ptr [EBP + 0x10],0x0
LEA ESI,[ESP + 0x102c]
CALL 0x00032f50
CMP byte ptr [ESP + 0x2c],0x0
MOV dword ptr [ESP + 0x10],EAX
JZ 0x000e775e
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x001a30a0
ADD ESP,0x10
LEA ESI,[ESP + 0x102c]
TEST EAX,EAX
JZ 0x000e7d10
MOV byte ptr [ESP + 0x102c],0x0
SUB ESP,0x4
PUSH ESI
PUSH 0x1
PUSH dword ptr [ESP + 0x14]
CALL 0x00033270
ADD ESP,0x10
CMP byte ptr [ESP + 0x102c],0x0
JNZ 0x000e77f0
LEA EAX,[EBP + 0x1f0]
SUB ESP,0x4
PUSH 0x1000
PUSH EAX
PUSH ESI
CALL 0x00030b70
POP ECX
POP EDI
PUSH dword ptr [ESP + 0x18]
PUSH ESI
CALL 0x00031b70
ADD ESP,0x10
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x2054]
TEST EAX,EAX
JZ 0x000e7a70
SUB ESP,0x4
PUSH dword ptr [ESP + 0x10]
PUSH 0x9
PUSH dword ptr [ESP + 0x14]
CALL 0x00033270
ADD ESP,0x10
SUB ESP,0x4
PUSH 0x1000
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x14]
CALL 0x00030b70
ADD ESP,0x10
JMP 0x000e7842
SUB ESP,0xc
PUSH ESI
CALL 0x00031410
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x18]
PUSH ESI
CALL 0x00031b70
LEA EDX,[EBX + 0xffee06d5]
ADD ESP,0xc
PUSH dword ptr [ESP + 0x14]
PUSH EDX
MOV EDI,EAX
MOV dword ptr [ESP + 0x20],EDX
PUSH ESI
CALL 0x000320c0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x000e7d7c
SUB ESP,0xc
PUSH ESI
CALL 0x000f75b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7e60
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x000335b0
ADD ESP,0x10
TEST EDI,EDI
JZ 0x000e7865
SUB ESP,0xc
PUSH EDI
CALL 0x00030ac0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e786c
MOV dword ptr [EBP + 0x38],0x0
CMP dword ptr [ESP + 0x2054],0x1
MOV EAX,dword ptr [EBP + 0xc]
JBE 0x000e7881
TEST EAX,EAX
JNZ 0x000e7c88
TEST EAX,EAX
JZ 0x000e7af0
MOV EAX,dword ptr [ESP + 0x2054]
TEST EAX,EAX
JNZ 0x000e7a90
MOV EAX,dword ptr [EBP + 0x10]
TEST EAX,EAX
JNZ 0x000e7ac0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x24]
CALL 0x00032700
XOR EDX,EDX
MOV dword ptr [ESP + 0x20],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7ac5
SUB ESP,0x8
PUSH dword ptr [ESP + 0x20]
PUSH EBP
CALL 0x000313c0
MOV ESI,EAX
LEA EAX,[EAX + 0x318]
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0xc
PUSH 0x1000
PUSH dword ptr [ESP + 0x10]
PUSH EAX
CALL 0x00030b70
ADD ESP,0x10
PUSH dword ptr [ESP + 0x18]
PUSH 0x2
PUSH ESI
PUSH EBP
CALL 0x00032230
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7f31
SUB ESP,0xc
PUSH ESI
CALL 0x00032200
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7e96
SUB ESP,0xc
PUSH ESI
CALL 0x000312a0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e7e96
SUB ESP,0x8
PUSH dword ptr [ESP + 0x18]
PUSH 0x1
CALL 0x000317b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7fbb
SUB ESP,0x4
PUSH dword ptr [ESP + 0x14]
PUSH 0x0
PUSH EAX
MOV dword ptr [ESP + 0x18],EAX
CALL 0x000310a0
ADD ESP,0xc
MOV ECX,dword ptr [ESP + 0xc]
PUSH ECX
MOV dword ptr [ESP + 0x14],ECX
PUSH dword ptr [ESP + 0x18]
PUSH ESI
CALL 0x00033430
ADD ESP,0x10
PUSH 0x1
CDQ
MOV dword ptr [ESP + 0xc],EAX
NEG EAX
ADC EDX,0x0
NEG EDX
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x00031f00
MOV dword ptr [ESP],ESI
CALL 0x000311d0
MOV dword ptr [ESP],ESI
CALL 0x00032dd0
ADD ESP,0x10
CALL 0x00032f50
SUB ESP,0x4
PUSH EAX
MOV ESI,EAX
PUSH dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x18]
PUSH ECX
MOV dword ptr [ESP + 0x1c],ECX
CALL 0x000309d0
MOV ECX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP],ECX
CALL 0x00033ac8
LEA ECX,[EBP + 0x1f0]
MOV dword ptr [ESP + 0x1c],ECX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x8]
TEST EAX,EAX
JZ 0x000e7f6a
SUB ESP,0xc
PUSH EAX
CALL 0x00032440
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7f6a
TEST EDI,EDI
JZ 0x000e7a0e
SUB ESP,0xc
PUSH EDI
CALL 0x00030cc0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e7fd6
LEA EDI,[EBP + 0x1f0]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00032440
ADD ESP,0xc
PUSH 0x1000
PUSH EAX
PUSH EDI
CALL 0x00030b70
POP EDX
POP ECX
PUSH ESI
PUSH EDI
CALL 0x00031b70
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x000e7a51
SUB ESP,0xc
PUSH EDI
CALL 0x00030ac0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e7a58
MOV dword ptr [EBP + 0x38],0x0
SUB ESP,0xc
PUSH ESI
CALL 0x000335b0
ADD ESP,0x10
MOV EDX,0x1
JMP 0x000e7ac5
SUB ESP,0x4
PUSH dword ptr [ESP + 0x10]
PUSH 0x8
PUSH dword ptr [ESP + 0x14]
CALL 0x00033270
ADD ESP,0x10
JMP 0x000e77cc
SUB ESP,0x8
PUSH dword ptr [ESP + 0x20]
PUSH ESI
CALL 0x00031b70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7ac0
SUB ESP,0xc
PUSH EAX
CALL 0x000336d0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e7ac0
MOV dword ptr [EBP + 0xc],0x0
NOP
LEA ESI,[ESI]
MOV EDX,0x1
MOV EDI,dword ptr [ESP + 0x202c]
XOR EDI,dword ptr GS:[0x14]
MOV EAX,EDX
JNZ 0x000e8051
ADD ESP,0x203c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESP + 0x2054]
OR EAX,dword ptr [EBP + 0x10]
JNZ 0x000e7ac0
JMP 0x000e78a3
SUB ESP,0x4
PUSH dword ptr [ESP + 0x10]
PUSH 0x6
PUSH dword ptr [ESP + 0x14]
CALL 0x00033270
ADD ESP,0x10
JMP 0x000e7722
SUB ESP,0x8
PUSH 0x0
MOV EDI,dword ptr [ESP + 0x18]
PUSH EDI
CALL 0x00030aa0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7ce0
LEA EAX,[EBP + 0x24]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x14]
PUSH EAX
CALL 0x00031990
ADD ESP,0xc
PUSH 0xa
PUSH 0x0
PUSH dword ptr [EBP + 0x24]
CALL 0x00031e90
MOV ESI,dword ptr [EBP + 0x24]
MOV dword ptr [EBP + 0x28],EAX
MOV dword ptr [EBP + 0x2c],EAX
MOV dword ptr [ESP + 0x38],ESI
MOVZX EDX,byte ptr [ESI]
ADD ESP,0x10
TEST DL,DL
MOV byte ptr [ESP + 0x10],DL
JZ 0x000e7f2a
CALL 0x00031ac0
MOVZX EDX,byte ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x10],EBP
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[ESP + 0x28]
MOV dword ptr [ESP + 0x1c],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x14]
MOV ECX,dword ptr [EAX]
JMP 0x000e7bb6
ADD ESI,0x1
MOVZX EDX,byte ptr [ESI]
MOVZX EAX,DL
TEST byte ptr [ECX + EAX*0x2 + 0x1],0x20
JNZ 0x000e7bb0
CMP DL,0x2c
JZ 0x000e7bb0
SUB ESP,0x4
PUSH 0xa
PUSH dword ptr [ESP + 0x24]
PUSH ESI
CALL 0x000316a0
MOV ESI,dword ptr [ESP + 0x38]
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x24]
ADD ESP,0x10
MOV EBP,dword ptr [EAX]
MOVZX EAX,byte ptr [ESI]
MOV EDX,EAX
TEST byte ptr [EBP + EAX*0x2 + 0x1],0x20
JZ 0x000e7c0d
LEA EAX,[ESI + 0x1]
LEA ESI,[ESI]
MOV dword ptr [ESP + 0x28],EAX
MOVZX ECX,byte ptr [EAX]
MOV ESI,EAX
ADD EAX,0x1
MOV EDX,ECX
TEST byte ptr [EBP + ECX*0x2 + 0x1],0x20
JNZ 0x000e7bf8
MOV EAX,EDI
CMP DL,0x2d
JZ 0x000e7db8
MOV ECX,dword ptr [ESP + 0x10]
CMP dword ptr [ECX + 0x28],EAX
JBE 0x000e7c24
MOV dword ptr [ECX + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x10]
CMP dword ptr [EAX + 0x2c],EDI
JNC 0x000e7c30
MOV dword ptr [EAX + 0x2c],EDI
MOV EAX,dword ptr [ESP + 0x28]
CMP byte ptr [EAX],0x0
LEA ESI,[EAX + 0x1]
JZ 0x000e7de0
MOVZX EDX,byte ptr [EAX + 0x1]
JMP 0x000e7ba0
LEA EAX,[EBX + 0xffedde4e]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH EAX
LEA EAX,[EBX + 0xffede940]
PUSH 0xaab
PUSH EAX
LEA EAX,[EBX + 0xffede4fb]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x000e76e6
SUB ESP,0x8
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [EBP + 0x28]
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
PUSH EBP
CALL 0x00030650
ADD ESP,0x18
PUSH dword ptr [ESP + 0x10]
PUSH dword ptr [ESP + 0x18]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7cd2
SUB ESP,0x8
PUSH 0x25
PUSH dword ptr [ESP + 0x18]
CALL 0x00030de0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7ab4
MOV EAX,dword ptr [EBP + 0xc]
JMP 0x000e7881
SUB ESP,0xc
PUSH EDI
CALL 0x00031b40
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7710
LEA EAX,[EBP + 0x1c]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x14]
PUSH EAX
CALL 0x00031990
ADD ESP,0x10
JMP 0x000e7710
SUB ESP,0x4
PUSH 0x1000
PUSH dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00030b70
MOV dword ptr [ESP],ESI
CALL 0x00031410
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x18]
PUSH ESI
CALL 0x00031b70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7df7
MOV EAX,dword ptr [EAX + 0x28]
TEST EAX,EAX
JZ 0x000e7df7
CMP EAX,0x2
JZ 0x000e7e3c
LEA EAX,[EBX + 0xffef338a]
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e775e
MOV dword ptr [EBP + 0x10],0x0
JMP 0x000e775e
SUB ESP,0x4
PUSH dword ptr [ESP + 0x14]
PUSH ESI
PUSH EDX
CALL 0x000320c0
ADD ESP,0x10
TEST EDI,EDI
JNZ 0x000e782e
TEST EAX,EAX
JNZ 0x000e782e
SUB ESP,0xc
XOR EDI,EDI
PUSH dword ptr [ESP + 0x1c]
CALL 0x000335b0
ADD ESP,0x10
JMP 0x000e7865
SUB ESP,0x4
ADD ESI,0x1
PUSH 0xa
PUSH dword ptr [ESP + 0x24]
PUSH ESI
CALL 0x000316a0
ADD ESP,0x10
MOV EDX,EAX
CMP EDI,EAX
JA 0x000e7c18
MOV EAX,EDI
MOV EDI,EDX
JMP 0x000e7c18
MOV EBP,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EBP + 0x2c]
MOV EDX,dword ptr [EBP + 0x28]
ADD EAX,0x1
SUB EAX,EDX
MOV dword ptr [EBP + 0x2c],EAX
JMP 0x000e7710
MOVZX EDX,byte ptr [ESP + 0x102c]
MOV EDI,0x1
LEA EAX,[EBX + 0xffede62e]
JMP 0x000e7e1e
MOV EAX,dword ptr [EBX + EDI*0x4 + 0xfffe3140]
ADD EDI,0x1
TEST EAX,EAX
JZ 0x000e7e43
CMP DL,byte ptr [EAX]
JNZ 0x000e7e10
MOV byte ptr [ESP + 0x14],DL
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x000326f0
ADD ESP,0x10
MOVZX EDX,byte ptr [ESP + 0x14]
TEST EAX,EAX
JNZ 0x000e7e10
MOV dword ptr [EBP + 0x10],0x1
LEA EAX,[EBP + 0x1f0]
SUB ESP,0x4
PUSH 0x1000
PUSH ESI
PUSH EAX
CALL 0x00030b70
ADD ESP,0x10
JMP 0x000e7d55
LEA EAX,[EBP + 0x1f0]
SUB ESP,0x4
MOV dword ptr [EBP + 0x10],0x1
PUSH 0x1000
PUSH ESI
PUSH EAX
CALL 0x00030b70
ADD ESP,0xc
PUSH dword ptr [ESP + 0x10]
PUSH 0x8
PUSH dword ptr [ESP + 0x14]
CALL 0x00033270
ADD ESP,0xc
JMP 0x000e77cf
MOV byte ptr [ESP + 0x2c],0x0
SUB ESP,0x4
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x14]
PUSH ESI
CALL 0x00033510
MOV dword ptr [ESP],ESI
MOV dword ptr [ESP + 0x2c],EAX
CALL 0x000311d0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x1c]
TEST EDX,EDX
JZ 0x000e7f4a
SUB ESP,0x8
PUSH 0x0
PUSH EBP
CALL 0x00031880
ADD ESP,0xc
PUSH 0x1000
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x20]
CALL 0x00030b70
ADD ESP,0x10
PUSH dword ptr [ESP + 0x18]
PUSH 0x2
PUSH ESI
PUSH EBP
CALL 0x00032230
ADD ESP,0x10
TEST EAX,EAX
MOV dword ptr [ESP + 0x14],EAX
JZ 0x000e7f9b
SUB ESP,0x4
PUSH 0x1000
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x14]
CALL 0x00030b70
ADD ESP,0x10
MOV dword ptr [EBP + 0x8],0x1
JMP 0x000e792e
MOV EDX,EAX
JMP 0x000e7dea
MOV dword ptr [ESP + 0x8],EAX
SUB ESP,0xc
PUSH ESI
CALL 0x00032dd0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x8]
JMP 0x000e7ac5
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x00032c90
MOV dword ptr [ESP],ESI
CALL 0x00032dd0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x1c]
JMP 0x000e7ac5
SUB ESP,0x8
PUSH ESI
PUSH dword ptr [ESP + 0x18]
CALL 0x00031b70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e7a51
SUB ESP,0xc
PUSH EAX
CALL 0x00030ac0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e7a58
JMP 0x000e7a51
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x00032c90
MOV dword ptr [ESP],ESI
CALL 0x00032dd0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x14]
JMP 0x000e7ac5
SUB ESP,0xc
PUSH ESI
CALL 0x000311d0
MOV dword ptr [ESP],ESI
CALL 0x00032dd0
ADD ESP,0x10
XOR EDX,EDX
JMP 0x000e7ac5
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00032440
POP EDX
POP ECX
PUSH EAX
PUSH dword ptr [EDI + 0x14]
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x000e7a0e
SUB ESP,0x4
PUSH 0x1000
PUSH dword ptr [EDI]
PUSH dword ptr [ESP + 0x18]
CALL 0x00030b70
ADD ESP,0x10
JMP 0x000e7a41
LEA EAX,[EBX + 0xffede950]
PUSH EAX
LEA EAX,[EBX + 0xffede4fb]
PUSH 0xaa9
PUSH EAX
LEA EAX,[EBX + 0xffec5b28]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffede950]
PUSH EAX
LEA EAX,[EBX + 0xffede4fb]
PUSH 0xaa8
PUSH EAX
LEA EAX,[EBX + 0xffec6a18]
PUSH EAX
CALL 0x000313d0
CALL 0x0029eab0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 SetImageInfo(int param_1,uint param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar2;\n}\n\n" comment (function_definition "undefined4 SetImageInfo(int param_1,uint param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar2;\n}" type_identifier (function_declarator "SetImageInfo(int param_1,uint param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,uint param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar2;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "byte *__nptr;" type_identifier (pointer_declarator "*__nptr" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte *local_2024;" type_identifier (pointer_declarator "*local_2024" * identifier) ;) (declaration "char local_2020 [4096];" primitive_type (array_declarator "local_2020 [4096]" identifier [ number_literal ]) ;) (declaration "char local_1020 [4096];" primitive_type (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xe7689;" (assignment_expression "uStack_14 = 0xe7689" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" { comment (expression_statement "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");" (call_expression "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" identifier (argument_list "("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" ( (string_literal ""image_info != (ImageInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""SetImageInfo"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" * (cast_expression "(int *)(param_1 + 0x31f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f4)" ( (binary_expression "param_1 + 0x31f4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" identifier (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""SetImageInfo"" " string_content ") ))) ;) })) (expression_statement "iVar6 = param_1 + 0x21f0;" (assignment_expression "iVar6 = param_1 + 0x21f0" identifier = (binary_expression "param_1 + 0x21f0" identifier + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" ( (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" * (cast_expression "(int *)(param_1 + 0x31f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f0)" ( (binary_expression "param_1 + 0x31f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6)" identifier (argument_list "(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6)" ( number_literal , (string_literal ""MagickCore/image.c"" " string_content ") , (string_literal ""SetImageInfo"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "GetPathComponent(iVar6,7,local_2020);" (call_expression "GetPathComponent(iVar6,7,local_2020)" identifier (argument_list "(iVar6,7,local_2020)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }" if (parenthesized_expression "(local_2020[0] != '\0')" ( (binary_expression "local_2020[0] != '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }" { (expression_statement "iVar3 = IsSceneGeometry(local_2020,0);" (assignment_expression "iVar3 = IsSceneGeometry(local_2020,0)" identifier = (call_expression "IsSceneGeometry(local_2020,0)" identifier (argument_list "(local_2020,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }" { (expression_statement "iVar3 = IsGeometry(local_2020);" (assignment_expression "iVar3 = IsGeometry(local_2020)" identifier = (call_expression "IsGeometry(local_2020)" identifier (argument_list "(local_2020)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        CloneString(param_1 + 0x1c,local_2020);\n      }" { (expression_statement "CloneString(param_1 + 0x1c,local_2020);" (call_expression "CloneString(param_1 + 0x1c,local_2020)" identifier (argument_list "(param_1 + 0x1c,local_2020)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" else (compound_statement "{\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" { (expression_statement "CloneString(param_1 + 0x24,local_2020);" (call_expression "CloneString(param_1 + 0x24,local_2020)" identifier (argument_list "(param_1 + 0x24,local_2020)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);" (assignment_expression "uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10)" identifier = (call_expression "strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10)" identifier (argument_list "(*(char **)(param_1 + 0x24),(char **)0x0,10)" ( (pointer_expression "*(char **)(param_1 + 0x24)" * (cast_expression "(char **)(param_1 + 0x24)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "__nptr = *(byte **)(param_1 + 0x24);" (assignment_expression "__nptr = *(byte **)(param_1 + 0x24)" identifier = (pointer_expression "*(byte **)(param_1 + 0x24)" * (cast_expression "(byte **)(param_1 + 0x24)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(ulong *)(param_1 + 0x28) = uVar8;" (assignment_expression "*(ulong *)(param_1 + 0x28) = uVar8" (pointer_expression "*(ulong *)(param_1 + 0x28)" * (cast_expression "(ulong *)(param_1 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(param_1 + 0x2c) = uVar8;" (assignment_expression "*(ulong *)(param_1 + 0x2c) = uVar8" (pointer_expression "*(ulong *)(param_1 + 0x2c)" * (cast_expression "(ulong *)(param_1 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar14 = *__nptr;" (assignment_expression "bVar14 = *__nptr" identifier = (pointer_expression "*__nptr" * identifier)) ;) (expression_statement "uVar15 = uVar8;" (assignment_expression "uVar15 = uVar8" identifier = identifier) ;) (expression_statement "local_2024 = __nptr;" (assignment_expression "local_2024 = __nptr" identifier = identifier) ;) (if_statement "if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }" { (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (while_statement "while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }" { (while_statement "while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }" while (parenthesized_expression "(((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                )" ( (parenthesized_expression "((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))" ( (binary_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c)" (binary_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar9" * identifier)) + (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(bVar14 == 0x2c)" ( (binary_expression "bVar14 == 0x2c" identifier == number_literal) ))) )) )) (compound_statement "{\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }" { (expression_statement "__nptr = __nptr + 1;" (assignment_expression "__nptr = __nptr + 1" identifier = (binary_expression "__nptr + 1" identifier + number_literal)) ;) (expression_statement "bVar14 = *__nptr;" (assignment_expression "bVar14 = *__nptr" identifier = (pointer_expression "*__nptr" * identifier)) ;) })) (expression_statement "uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);" (assignment_expression "uVar10 = strtol((char *)__nptr,(char **)&local_2024,10)" identifier = (call_expression "strtol((char *)__nptr,(char **)&local_2024,10)" identifier (argument_list "((char *)__nptr,(char **)&local_2024,10)" ( (cast_expression "(char *)__nptr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_2024" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_2024" & identifier)) , number_literal )))) ;) (expression_statement "bVar14 = *local_2024;" (assignment_expression "bVar14 = *local_2024" identifier = (pointer_expression "*local_2024" * identifier)) ;) (expression_statement "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);" (assignment_expression "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" identifier = (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar9" * identifier)) + (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) (while_statement "while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }" while (parenthesized_expression "((bVar1 & 0x20) != 0)" ( (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }" { (expression_statement "local_2024 = local_2024 + 1;" (assignment_expression "local_2024 = local_2024 + 1" identifier = (binary_expression "local_2024 + 1" identifier + number_literal)) ;) (expression_statement "bVar14 = *local_2024;" (assignment_expression "bVar14 = *local_2024" identifier = (pointer_expression "*local_2024" * identifier)) ;) (expression_statement "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);" (assignment_expression "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" identifier = (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar9" * identifier)) + (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (if_statement "if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }" if (parenthesized_expression "((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13))" ( (binary_expression "(bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)" (parenthesized_expression "(bVar14 == 0x2d)" ( (binary_expression "bVar14 == 0x2d" identifier == number_literal) )) && (parenthesized_expression "(uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)" ( (comma_expression "uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13" (assignment_expression "uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10)" identifier = (call_expression "strtol((char *)(local_2024 + 1),(char **)&local_2024,10)" identifier (argument_list "((char *)(local_2024 + 1),(char **)&local_2024,10)" ( (cast_expression "(char *)(local_2024 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2024 + 1)" ( (binary_expression "local_2024 + 1" identifier + number_literal) ))) , (cast_expression "(char **)&local_2024" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_2024" & identifier)) , number_literal )))) , (comma_expression "uVar11 = uVar13,\n             uVar10 <= uVar13" (assignment_expression "uVar11 = uVar13" identifier = identifier) , (binary_expression "uVar10 <= uVar13" identifier <= identifier))) ))) )) (compound_statement "{\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }" { (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (expression_statement "uVar10 = uVar13;" (assignment_expression "uVar10 = uVar13" identifier = identifier) ;) })) (if_statement "if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }" if (parenthesized_expression "(uVar11 < *(uint *)(param_1 + 0x28))" ( (binary_expression "uVar11 < *(uint *)(param_1 + 0x28)" identifier < (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }" { (expression_statement "*(uint *)(param_1 + 0x28) = uVar11;" (assignment_expression "*(uint *)(param_1 + 0x28) = uVar11" (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }" if (parenthesized_expression "(*(uint *)(param_1 + 0x2c) < uVar10)" ( (binary_expression "*(uint *)(param_1 + 0x2c) < uVar10" (pointer_expression "*(uint *)(param_1 + 0x2c)" * (cast_expression "(uint *)(param_1 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }" { (expression_statement "*(uint *)(param_1 + 0x2c) = uVar10;" (assignment_expression "*(uint *)(param_1 + 0x2c) = uVar10" (pointer_expression "*(uint *)(param_1 + 0x2c)" * (cast_expression "(uint *)(param_1 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "__nptr = local_2024 + 1;" (assignment_expression "__nptr = local_2024 + 1" identifier = (binary_expression "local_2024 + 1" identifier + number_literal)) ;) (if_statement "if (*local_2024 == 0) break;" if (parenthesized_expression "(*local_2024 == 0)" ( (binary_expression "*local_2024 == 0" (pointer_expression "*local_2024" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar14 = local_2024[1];" (assignment_expression "bVar14 = local_2024[1]" identifier = (subscript_expression "local_2024[1]" identifier [ number_literal ])) ;) })) (expression_statement "uVar8 = *(ulong *)(param_1 + 0x2c);" (assignment_expression "uVar8 = *(ulong *)(param_1 + 0x2c)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x2c)" * (cast_expression "(ulong *)(param_1 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(ulong *)(param_1 + 0x28);" (assignment_expression "uVar15 = *(ulong *)(param_1 + 0x28)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x28)" * (cast_expression "(ulong *)(param_1 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) })) (expression_statement "*(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;" (assignment_expression "*(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15" (pointer_expression "*(ulong *)(param_1 + 0x2c)" * (cast_expression "(ulong *)(param_1 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = (binary_expression "(uVar8 + 1) - uVar15" (parenthesized_expression "(uVar8 + 1)" ( (binary_expression "uVar8 + 1" identifier + number_literal) )) - identifier)) ;) }))) })) (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f0) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1f0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1f0)" * (cast_expression "(char *)(param_1 + 0x1f0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    GetPathComponent(iVar6,6,local_2020);\n  }" { (expression_statement "GetPathComponent(iVar6,6,local_2020);" (call_expression "GetPathComponent(iVar6,6,local_2020)" identifier (argument_list "(iVar6,6,local_2020)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }" if (parenthesized_expression "(local_2020[0] != '\0')" ( (binary_expression "local_2020[0] != '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }" { (expression_statement "iVar3 = FUN_001a30a0(local_2020);" (assignment_expression "iVar3 = FUN_001a30a0(local_2020)" identifier = (call_expression "FUN_001a30a0(local_2020)" identifier (argument_list "(local_2020)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }" { (expression_statement "CopyMagickString(local_1020,local_2020,0x1000);" (call_expression "CopyMagickString(local_1020,local_2020,0x1000)" identifier (argument_list "(local_1020,local_2020,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "LocaleUpper(local_1020);" (call_expression "LocaleUpper(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "iVar3 = GetMagickInfo(local_1020,uVar2);" (assignment_expression "iVar3 = GetMagickInfo(local_1020,uVar2)" identifier = (call_expression "GetMagickInfo(local_1020,uVar2)" identifier (argument_list "(local_1020,uVar2)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" if (parenthesized_expression "((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0))" ( (binary_expression "(iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "pcVar12 = "AUTOTRACE";" (assignment_expression "pcVar12 = "AUTOTRACE"" identifier = (string_literal ""AUTOTRACE"" " string_content ")) ;) (do_statement "do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);" do (compound_statement "{\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        }" { (if_statement "if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;" if (parenthesized_expression "((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             )" ( (binary_expression "(local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)" (parenthesized_expression "(local_1020[0] == *pcVar12)" ( (binary_expression "local_1020[0] == *pcVar12" (subscript_expression "local_1020[0]" identifier [ number_literal ]) == (pointer_expression "*pcVar12" * identifier)) )) && (parenthesized_expression "(iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)" ( (comma_expression "iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0" (assignment_expression "iVar5 = LocaleCompare(local_1020,pcVar12)" identifier = (call_expression "LocaleCompare(local_1020,pcVar12)" identifier (argument_list "(local_1020,pcVar12)" ( identifier , identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7e3c;" goto statement_identifier ;)) (expression_statement "pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];" (assignment_expression "pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3]" identifier = (subscript_expression "(&PTR_s_AUTOTRACE_003bc140)[iVar3]" (parenthesized_expression "(&PTR_s_AUTOTRACE_003bc140)" ( (pointer_expression "&PTR_s_AUTOTRACE_003bc140" & identifier) )) [ identifier ])) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" statement_identifier : (expression_statement "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000)" identifier (argument_list "(param_1 + 0x1f0,local_1020,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier , number_literal ))) ;)) }) (else_clause "else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" else (if_statement "if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 2)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 2" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" { (labeled_statement "LAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;)) (goto_statement "goto LAB_000e7e43;" goto statement_identifier ;) })))) (expression_statement "iVar3 = LocaleCompare(local_1020,"RGB");" (assignment_expression "iVar3 = LocaleCompare(local_1020,"RGB")" identifier = (call_expression "LocaleCompare(local_1020,"RGB")" identifier (argument_list "(local_1020,"RGB")" ( identifier , (string_literal ""RGB"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) })) })) })) (expression_statement "local_1020[0] = '\0';" (assignment_expression "local_1020[0] = '\0'" (subscript_expression "local_1020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "GetPathComponent(iVar6,1,local_1020);" (call_expression "GetPathComponent(iVar6,1,local_1020)" identifier (argument_list "(iVar6,1,local_1020)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" if (parenthesized_expression "(local_1020[0] == '\0')" ( (binary_expression "local_1020[0] == '\0'" (subscript_expression "local_1020[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }" { (expression_statement "CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);" (call_expression "CopyMagickString(local_1020,param_1 + 0x1f0,0x1000)" identifier (argument_list "(local_1020,param_1 + 0x1f0,0x1000)" ( identifier , (binary_expression "param_1 + 0x1f0" identifier + number_literal) , number_literal ))) ;) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2)" identifier = (cast_expression "(undefined4 *)GetMagickInfo(local_1020,uVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetMagickInfo(local_1020,uVar2)" identifier (argument_list "(local_1020,uVar2)" ( identifier , identifier ))))) ;) (if_statement "if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      GetPathComponent(iVar6,8,local_2020);\n    }" { (expression_statement "GetPathComponent(iVar6,8,local_2020);" (call_expression "GetPathComponent(iVar6,8,local_2020)" identifier (argument_list "(iVar6,8,local_2020)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n      GetPathComponent(iVar6,9,local_2020);\n    }" else (compound_statement "{\n      GetPathComponent(iVar6,9,local_2020);\n    }" { (expression_statement "GetPathComponent(iVar6,9,local_2020);" (call_expression "GetPathComponent(iVar6,9,local_2020)" identifier (argument_list "(iVar6,9,local_2020)" ( identifier , number_literal , identifier ))) ;) }))) (labeled_statement "LAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);" statement_identifier : (expression_statement "CopyMagickString(iVar6,local_2020,0x1000);" (call_expression "CopyMagickString(iVar6,local_2020,0x1000)" identifier (argument_list "(iVar6,local_2020,0x1000)" ( identifier , identifier , number_literal ))) ;)) (labeled_statement "LAB_000e7842:\n    DestroyExceptionInfo(uVar2);" statement_identifier : (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;)) (if_statement "if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;" if (parenthesized_expression "((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))" ( (binary_expression "(puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0)" (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0)" ( (comma_expression "iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0" (assignment_expression "iVar3 = GetMagickEndianSupport(puVar4)" identifier = (call_expression "GetMagickEndianSupport(puVar4)" identifier (argument_list "(puVar4)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7865;" goto statement_identifier ;)) }) (else_clause "else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" else (compound_statement "{\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" { (expression_statement "LocaleUpper(local_1020);" (call_expression "LocaleUpper(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2)" identifier = (cast_expression "(undefined4 *)GetMagickInfo(local_1020,uVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetMagickInfo(local_1020,uVar2)" identifier (argument_list "(local_1020,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);" (assignment_expression "iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2)" identifier = (call_expression "GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2)" identifier (argument_list "(local_1020,&DAT_002b96d5,uVar2)" ( identifier , (pointer_expression "&DAT_002b96d5" & identifier) , identifier )))) ;) (if_statement "if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" if (parenthesized_expression "(((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0))" ( (binary_expression "((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)" (parenthesized_expression "((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0))" ( (binary_expression "(iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)" ( (comma_expression "iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0" (assignment_expression "iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2)" identifier = (call_expression "GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2)" identifier (argument_list "(&DAT_002b96d5,local_1020,uVar2)" ( (pointer_expression "&DAT_002b96d5" & identifier) , identifier , identifier )))) , (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" { (expression_statement "iVar3 = FUN_000f75b0(local_1020);" (assignment_expression "iVar3 = FUN_000f75b0(local_1020)" identifier = (call_expression "FUN_000f75b0(local_1020)" identifier (argument_list "(local_1020)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000)" identifier (argument_list "(param_1 + 0x1f0,local_1020,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "GetPathComponent(iVar6,8,local_2020);" (call_expression "GetPathComponent(iVar6,8,local_2020)" identifier (argument_list "(iVar6,8,local_2020)" ( identifier , number_literal , identifier ))) ;) (goto_statement "goto LAB_000e77cf;" goto statement_identifier ;) })) (goto_statement "goto LAB_000e7842;" goto statement_identifier ;) })) (expression_statement "puVar4 = (undefined4 *)0x0;" (assignment_expression "puVar4 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (labeled_statement "LAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x38) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" if (parenthesized_expression "((param_2 < 2) || (iVar3 == 0))" ( (binary_expression "(param_2 < 2) || (iVar3 == 0)" (parenthesized_expression "(param_2 < 2)" ( (binary_expression "param_2 < 2" identifier < number_literal) )) || (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }" { (labeled_statement "LAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" statement_identifier : (if_statement "if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }" { (if_statement "if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }" if (parenthesized_expression "(param_2 == 0 && *(int *)(param_1 + 0x10) == 0)" ( (binary_expression "param_2 == 0 && *(int *)(param_1 + 0x10) == 0" (binary_expression "param_2 == 0" identifier == number_literal) && (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }" { (labeled_statement "LAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);" statement_identifier : (expression_statement "__n = GetMagicPatternExtent(param_3);" (assignment_expression "__n = GetMagicPatternExtent(param_3)" identifier = (call_expression "GetMagicPatternExtent(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;)) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (if_statement "if (__n == 0) goto LAB_000e7ac5;" if (parenthesized_expression "(__n == 0)" ( (binary_expression "__n == 0" identifier == number_literal) )) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;)) (expression_statement "iVar3 = AcquireImage(param_1,param_3);" (assignment_expression "iVar3 = AcquireImage(param_1,param_3)" identifier = (call_expression "AcquireImage(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier )))) ;) (expression_statement "CopyMagickString(iVar3 + 0x318,iVar6,0x1000);" (call_expression "CopyMagickString(iVar3 + 0x318,iVar6,0x1000)" identifier (argument_list "(iVar3 + 0x318,iVar6,0x1000)" ( (binary_expression "iVar3 + 0x318" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar5 = OpenBlob(param_1,iVar3,2,param_3);" (assignment_expression "iVar5 = OpenBlob(param_1,iVar3,2,param_3)" identifier = (call_expression "OpenBlob(param_1,iVar3,2,param_3)" identifier (argument_list "(param_1,iVar3,2,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" { (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "iVar5 = IsBlobSeekable(iVar3);" (assignment_expression "iVar5 = IsBlobSeekable(iVar3)" identifier = (call_expression "IsBlobSeekable(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }" if (parenthesized_expression "((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0))" ( (binary_expression "(iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = IsBlobExempt(iVar3), iVar5 != 0)" ( (comma_expression "iVar5 = IsBlobExempt(iVar3), iVar5 != 0" (assignment_expression "iVar5 = IsBlobExempt(iVar3)" identifier = (call_expression "IsBlobExempt(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }" { (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar5 = ImageToFile(iVar3,local_2020,param_3);" (assignment_expression "iVar5 = ImageToFile(iVar3,local_2020,param_3)" identifier = (call_expression "ImageToFile(iVar3,local_2020,param_3)" identifier (argument_list "(iVar3,local_2020,param_3)" ( identifier , identifier , identifier )))) ;) (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" { (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "SetImageInfoFile(param_1,0);" (call_expression "SetImageInfoFile(param_1,0)" identifier (argument_list "(param_1,0)" ( identifier , number_literal ))) ;) (expression_statement "CopyMagickString(iVar3 + 0x318,local_2020,0x1000);" (call_expression "CopyMagickString(iVar3 + 0x318,local_2020,0x1000)" identifier (argument_list "(iVar3 + 0x318,local_2020,0x1000)" ( (binary_expression "iVar3 + 0x318" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar5 = OpenBlob(param_1,iVar3,2,param_3);" (assignment_expression "iVar5 = OpenBlob(param_1,iVar3,2,param_3)" identifier = (call_expression "OpenBlob(param_1,iVar3,2,param_3)" identifier (argument_list "(param_1,iVar3,2,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" { (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "CopyMagickString(iVar6,local_2020,0x1000);" (call_expression "CopyMagickString(iVar6,local_2020,0x1000)" identifier (argument_list "(iVar6,local_2020,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 8) = 1" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "__s = (void *)AcquireQuantumMemory(1,__n);" (assignment_expression "__s = (void *)AcquireQuantumMemory(1,__n)" identifier = (cast_expression "(void *)AcquireQuantumMemory(1,__n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(1,__n)" identifier (argument_list "(1,__n)" ( number_literal , identifier ))))) ;) (if_statement "if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" if (parenthesized_expression "(__s == (void *)0x0)" ( (binary_expression "__s == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" { (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "memset(__s,0,__n);" (call_expression "memset(__s,0,__n)" identifier (argument_list "(__s,0,__n)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar6 = ReadBlob(iVar3,__n,__s);" (assignment_expression "iVar6 = ReadBlob(iVar3,__n,__s)" identifier = (call_expression "ReadBlob(iVar3,__n,__s)" identifier (argument_list "(iVar3,__n,__s)" ( identifier , identifier , identifier )))) ;) (expression_statement "SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);" (call_expression "SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1)" identifier (argument_list "(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1)" ( identifier , (unary_expression "-iVar6" - identifier) , (unary_expression "-((iVar6 >> 0x1f) + (uint)(iVar6 != 0))" - (parenthesized_expression "((iVar6 >> 0x1f) + (uint)(iVar6 != 0))" ( (binary_expression "(iVar6 >> 0x1f) + (uint)(iVar6 != 0)" (parenthesized_expression "(iVar6 >> 0x1f)" ( (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) )) + (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )))) ))) , number_literal ))) ;) (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = GetMagicInfo(__s,iVar6,uVar2);" (assignment_expression "iVar6 = GetMagicInfo(__s,iVar6,uVar2)" identifier = (call_expression "GetMagicInfo(__s,iVar6,uVar2)" identifier (argument_list "(__s,iVar6,uVar2)" ( identifier , identifier , identifier )))) ;) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" if (parenthesized_expression "((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0))" ( (binary_expression "(iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = GetMagicName(iVar6), iVar3 == 0)" ( (comma_expression "iVar3 = GetMagicName(iVar6), iVar3 == 0" (assignment_expression "iVar3 = GetMagicName(iVar6)" identifier = (call_expression "GetMagicName(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }" { (expression_statement "iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);" (assignment_expression "iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier = (call_expression "GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier (argument_list "(param_1 + 0x1f0,uVar2)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }" { (expression_statement "iVar6 = GetMagickEndianSupport(iVar6);" (assignment_expression "iVar6 = GetMagickEndianSupport(iVar6)" identifier = (call_expression "GetMagickEndianSupport(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (goto_statement "goto joined_r0x000e7f90;" goto statement_identifier ;) })) (labeled_statement "LAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x38) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = number_literal) ;)) }) (else_clause "else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" else (compound_statement "{\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" { (if_statement "if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" if (parenthesized_expression "((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))" ( (binary_expression "(puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0)" (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0)" ( (comma_expression "iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0" (assignment_expression "iVar3 = GetMagickUseExtension(puVar4)" identifier = (call_expression "GetMagickUseExtension(puVar4)" identifier (argument_list "(puVar4)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }" { (labeled_statement "LAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);" statement_identifier : (expression_statement "uVar7 = GetMagicName(iVar6);" (assignment_expression "uVar7 = GetMagicName(iVar6)" identifier = (call_expression "GetMagicName(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,uVar7,0x1000)" identifier (argument_list "(param_1 + 0x1f0,uVar7,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier = (cast_expression "(undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier (argument_list "(param_1 + 0x1f0,uVar2)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier ))))) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000e7a51;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" else (compound_statement "{\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" { (expression_statement "uVar7 = GetMagicName(iVar6);" (assignment_expression "uVar7 = GetMagicName(iVar6)" identifier = (call_expression "GetMagicName(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "iVar3 = LocaleCompare(puVar4[5],uVar7);" (assignment_expression "iVar3 = LocaleCompare(puVar4[5],uVar7)" identifier = (call_expression "LocaleCompare(puVar4[5],uVar7)" identifier (argument_list "(puVar4[5],uVar7)" ( (subscript_expression "puVar4[5]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_000e7a0e;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000e7a0e;" goto statement_identifier ;)) (expression_statement "CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000)" identifier (argument_list "(param_1 + 0x1f0,*puVar4,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , (pointer_expression "*puVar4" * identifier) , number_literal ))) ;) }))) (expression_statement "iVar6 = GetMagickEndianSupport(puVar4);" (assignment_expression "iVar6 = GetMagickEndianSupport(puVar4)" identifier = (call_expression "GetMagickEndianSupport(puVar4)" identifier (argument_list "(puVar4)" ( identifier )))) ;) (labeled_statement "joined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;" statement_identifier : (if_statement "if (iVar6 == 0) goto LAB_000e7a51;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000e7a51;" goto statement_identifier ;))) }))) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) }) (else_clause "else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" else (if_statement "if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }" { (if_statement "if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;" if (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0)" ( (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000e78a3;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" else (compound_statement "{\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" { (expression_statement "iVar6 = GetMagickInfo(local_1020,param_3);" (assignment_expression "iVar6 = GetMagickInfo(local_1020,param_3)" identifier = (call_expression "GetMagickInfo(local_1020,param_3)" identifier (argument_list "(local_1020,param_3)" ( identifier , identifier )))) ;) (if_statement "if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;" if (parenthesized_expression "((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0))" ( (binary_expression "(iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)" ( (comma_expression "iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0" (assignment_expression "iVar6 = GetMagickAdjoin(iVar6)" identifier = (call_expression "GetMagickAdjoin(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7ab4;" goto statement_identifier ;)) })))))) }) (else_clause "else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" else (compound_statement "{\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" { (expression_statement "InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);" (call_expression "InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3)" identifier (argument_list "(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar3 = LocaleCompare(local_2020,iVar6);" (assignment_expression "iVar3 = LocaleCompare(local_2020,iVar6)" identifier = (call_expression "LocaleCompare(local_2020,iVar6)" identifier (argument_list "(local_2020,iVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }" if (parenthesized_expression "((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0))" ( (binary_expression "(iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = strchr(local_2020,0x25)" identifier = (call_expression "strchr(local_2020,0x25)" identifier (argument_list "(local_2020,0x25)" ( identifier , number_literal )))) , (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }" { (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000e7881;" goto statement_identifier ;) })) (labeled_statement "LAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" { comment (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n\nMagickBooleanType SetImageInfo(ImageInfo *image_info,uint frames,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  byte bVar2;\n  ExceptionInfo *pEVar3;\n  MagickBooleanType MVar4;\n  MagickInfo *pMVar5;\n  DelegateInfo *pDVar6;\n  size_t sVar7;\n  Image *image;\n  uchar *magic_00;\n  MagicInfo *magic_info;\n  char *pcVar8;\n  ulong uVar9;\n  ushort **ppuVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  byte bVar17;\n  ulong uVar18;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  char *q;\n  char component [4096];\n  char magic [4096];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  pcVar8 = image_info->filename;\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);\n  }\n  component[0] = '\0';\n  GetPathComponent(pcVar8,SubimagePath,component);\n  if (component[0] != '\0') {\n    MVar4 = IsSceneGeometry(component,MagickFalse);\n    if (MVar4 == MagickFalse) {\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }\n    else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }\n  }\n  component[0] = '\0';\n  if (image_info->magick[0] == '\0') {\n    GetPathComponent(pcVar8,ExtensionPath,component);\n  }\n  image_info->affirm = MagickFalse;\n  pEVar3 = AcquireExceptionInfo();\n  if (component[0] != '\0') {\n    MVar4 = IsGlob(component);\n    if (MVar4 == MagickFalse) {\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }\n  }\n  magic[0] = '\0';\n  GetPathComponent(pcVar8,MagickPath,magic);\n  if (magic[0] == '\0') {\n    CopyMagickString(magic,image_info->magick,0x1000);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    if (frames == 0) {\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }\n    else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }\nLAB_000e77cf:\n    CopyMagickString(pcVar8,component,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(pEVar3);\n    if ((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(magic);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);\n    if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    pMVar5 = (MagickInfo *)0x0;\n    DestroyExceptionInfo(pEVar3);\nLAB_000e7865:\n    image_info->endian = UndefinedEndian;\n  }\n  MVar4 = image_info->adjoin;\n  if ((frames < 2) || (MVar4 == MagickFalse)) {\nLAB_000e7881:\n    if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);\n    iVar16 = LocaleCompare(component,pcVar8);\n    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    image_info->adjoin = MagickFalse;\n  }\n  MVar4 = MagickTrue;\nLAB_000e7ac5:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar4;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "MagickBooleanType SetImageInfo(ImageInfo *image_info,uint frames,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  byte bVar2;\n  ExceptionInfo *pEVar3;\n  MagickBooleanType MVar4;\n  MagickInfo *pMVar5;\n  DelegateInfo *pDVar6;\n  size_t sVar7;\n  Image *image;\n  uchar *magic_00;\n  MagicInfo *magic_info;\n  char *pcVar8;\n  ulong uVar9;\n  ushort **ppuVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  byte bVar17;\n  ulong uVar18;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  char *q;\n  char component [4096];\n  char magic [4096];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  pcVar8 = image_info->filename;\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);\n  }\n  component[0] = '\0';\n  GetPathComponent(pcVar8,SubimagePath,component);\n  if (component[0] != '\0') {\n    MVar4 = IsSceneGeometry(component,MagickFalse);\n    if (MVar4 == MagickFalse) {\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }\n    else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }\n  }\n  component[0] = '\0';\n  if (image_info->magick[0] == '\0') {\n    GetPathComponent(pcVar8,ExtensionPath,component);\n  }\n  image_info->affirm = MagickFalse;\n  pEVar3 = AcquireExceptionInfo();\n  if (component[0] != '\0') {\n    MVar4 = IsGlob(component);\n    if (MVar4 == MagickFalse) {\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }\n  }\n  magic[0] = '\0';\n  GetPathComponent(pcVar8,MagickPath,magic);\n  if (magic[0] == '\0') {\n    CopyMagickString(magic,image_info->magick,0x1000);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    if (frames == 0) {\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }\n    else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }\nLAB_000e77cf:\n    CopyMagickString(pcVar8,component,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(pEVar3);\n    if ((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(magic);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);\n    if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    pMVar5 = (MagickInfo *)0x0;\n    DestroyExceptionInfo(pEVar3);\nLAB_000e7865:\n    image_info->endian = UndefinedEndian;\n  }\n  MVar4 = image_info->adjoin;\n  if ((frames < 2) || (MVar4 == MagickFalse)) {\nLAB_000e7881:\n    if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);\n    iVar16 = LocaleCompare(component,pcVar8);\n    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    image_info->adjoin = MagickFalse;\n  }\n  MVar4 = MagickTrue;\nLAB_000e7ac5:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar4;\n}" type_identifier (function_declarator "SetImageInfo(ImageInfo *image_info,uint frames,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,uint frames,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "uint frames" type_identifier identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  byte bVar2;\n  ExceptionInfo *pEVar3;\n  MagickBooleanType MVar4;\n  MagickInfo *pMVar5;\n  DelegateInfo *pDVar6;\n  size_t sVar7;\n  Image *image;\n  uchar *magic_00;\n  MagicInfo *magic_info;\n  char *pcVar8;\n  ulong uVar9;\n  ushort **ppuVar10;\n  uint uVar11;\n  uint uVar12;\n  char *pcVar13;\n  uint uVar14;\n  int iVar15;\n  int iVar16;\n  byte bVar17;\n  ulong uVar18;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  char *q;\n  char component [4096];\n  char magic [4096];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  pcVar8 = image_info->filename;\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);\n  }\n  component[0] = '\0';\n  GetPathComponent(pcVar8,SubimagePath,component);\n  if (component[0] != '\0') {\n    MVar4 = IsSceneGeometry(component,MagickFalse);\n    if (MVar4 == MagickFalse) {\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }\n    else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }\n  }\n  component[0] = '\0';\n  if (image_info->magick[0] == '\0') {\n    GetPathComponent(pcVar8,ExtensionPath,component);\n  }\n  image_info->affirm = MagickFalse;\n  pEVar3 = AcquireExceptionInfo();\n  if (component[0] != '\0') {\n    MVar4 = IsGlob(component);\n    if (MVar4 == MagickFalse) {\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }\n  }\n  magic[0] = '\0';\n  GetPathComponent(pcVar8,MagickPath,magic);\n  if (magic[0] == '\0') {\n    CopyMagickString(magic,image_info->magick,0x1000);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    if (frames == 0) {\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }\n    else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }\nLAB_000e77cf:\n    CopyMagickString(pcVar8,component,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(pEVar3);\n    if ((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(magic);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);\n    if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    pMVar5 = (MagickInfo *)0x0;\n    DestroyExceptionInfo(pEVar3);\nLAB_000e7865:\n    image_info->endian = UndefinedEndian;\n  }\n  MVar4 = image_info->adjoin;\n  if ((frames < 2) || (MVar4 == MagickFalse)) {\nLAB_000e7881:\n    if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);\n    iVar16 = LocaleCompare(component,pcVar8);\n    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    image_info->adjoin = MagickFalse;\n  }\n  MVar4 = MagickTrue;\nLAB_000e7ac5:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar4;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "ExceptionInfo *pEVar3;" type_identifier (pointer_declarator "*pEVar3" * identifier) ;) (declaration "MagickBooleanType MVar4;" type_identifier identifier ;) (declaration "MagickInfo *pMVar5;" type_identifier (pointer_declarator "*pMVar5" * identifier) ;) (declaration "DelegateInfo *pDVar6;" type_identifier (pointer_declarator "*pDVar6" * identifier) ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "Image *image;" type_identifier (pointer_declarator "*image" * identifier) ;) (declaration "uchar *magic_00;" type_identifier (pointer_declarator "*magic_00" * identifier) ;) (declaration "MagicInfo *magic_info;" type_identifier (pointer_declarator "*magic_info" * identifier) ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "ushort **ppuVar10;" type_identifier (pointer_declarator "**ppuVar10" * (pointer_declarator "*ppuVar10" * identifier)) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "byte *__nptr;" type_identifier (pointer_declarator "*__nptr" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "char *q;" primitive_type (pointer_declarator "*q" * identifier) ;) (declaration "char component [4096];" primitive_type (array_declarator "component [4096]" identifier [ number_literal ]) ;) (declaration "char magic [4096];" primitive_type (array_declarator "magic [4096]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" if (parenthesized_expression "(image_info == (ImageInfo *)0x0)" ( (binary_expression "image_info == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" { comment (expression_statement "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");" (call_expression "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" identifier (argument_list "("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" ( (string_literal ""image_info != (ImageInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""SetImageInfo"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" if (parenthesized_expression "(image_info->signature != 0xabacadab)" ( (binary_expression "image_info->signature != 0xabacadab" (field_expression "image_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" identifier (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""SetImageInfo"" " string_content ") ))) ;) })) (expression_statement "pcVar8 = image_info->filename;" (assignment_expression "pcVar8 = image_info->filename" identifier = (field_expression "image_info->filename" identifier -> field_identifier)) ;) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);\n  }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8);" (call_expression "LogMagickEvent(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8)" identifier (argument_list "(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",pcVar8)" ( identifier , (string_literal ""MagickCore/image.c"" " string_content ") , (string_literal ""SetImageInfo"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , identifier ))) ;) })) (expression_statement "component[0] = '\0';" (assignment_expression "component[0] = '\0'" (subscript_expression "component[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "GetPathComponent(pcVar8,SubimagePath,component);" (call_expression "GetPathComponent(pcVar8,SubimagePath,component)" identifier (argument_list "(pcVar8,SubimagePath,component)" ( identifier , identifier , identifier ))) ;) (if_statement "if (component[0] != '\0') {\n    MVar4 = IsSceneGeometry(component,MagickFalse);\n    if (MVar4 == MagickFalse) {\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }\n    else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }\n  }" if (parenthesized_expression "(component[0] != '\0')" ( (binary_expression "component[0] != '\0'" (subscript_expression "component[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    MVar4 = IsSceneGeometry(component,MagickFalse);\n    if (MVar4 == MagickFalse) {\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }\n    else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }\n  }" { (expression_statement "MVar4 = IsSceneGeometry(component,MagickFalse);" (assignment_expression "MVar4 = IsSceneGeometry(component,MagickFalse)" identifier = (call_expression "IsSceneGeometry(component,MagickFalse)" identifier (argument_list "(component,MagickFalse)" ( identifier , identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }\n    else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n      MVar4 = IsGeometry(component);\n      if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }\n    }" { (expression_statement "MVar4 = IsGeometry(component);" (assignment_expression "MVar4 = IsGeometry(component)" identifier = (call_expression "IsGeometry(component)" identifier (argument_list "(component)" ( identifier )))) ;) (if_statement "if (MVar4 != MagickFalse) {\n        CloneString(&image_info->extract,component);\n      }" if (parenthesized_expression "(MVar4 != MagickFalse)" ( (binary_expression "MVar4 != MagickFalse" identifier != identifier) )) (compound_statement "{\n        CloneString(&image_info->extract,component);\n      }" { (expression_statement "CloneString(&image_info->extract,component);" (call_expression "CloneString(&image_info->extract,component)" identifier (argument_list "(&image_info->extract,component)" ( (pointer_expression "&image_info->extract" & (field_expression "image_info->extract" identifier -> field_identifier)) , identifier ))) ;) })) }) (else_clause "else {\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }" else (compound_statement "{\n      CloneString(&image_info->scenes,component);\n      uVar9 = strtoul(image_info->scenes,(char **)0x0,10);\n      __nptr = (byte *)image_info->scenes;\n      image_info->scene = uVar9;\n      image_info->number_scenes = uVar9;\n      bVar17 = *__nptr;\n      uVar18 = uVar9;\n      q = (char *)__nptr;\n      if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }\n      image_info->number_scenes = (uVar9 + 1) - uVar18;\n    }" { (expression_statement "CloneString(&image_info->scenes,component);" (call_expression "CloneString(&image_info->scenes,component)" identifier (argument_list "(&image_info->scenes,component)" ( (pointer_expression "&image_info->scenes" & (field_expression "image_info->scenes" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "uVar9 = strtoul(image_info->scenes,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(image_info->scenes,(char **)0x0,10)" identifier = (call_expression "strtoul(image_info->scenes,(char **)0x0,10)" identifier (argument_list "(image_info->scenes,(char **)0x0,10)" ( (field_expression "image_info->scenes" identifier -> field_identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "__nptr = (byte *)image_info->scenes;" (assignment_expression "__nptr = (byte *)image_info->scenes" identifier = (cast_expression "(byte *)image_info->scenes" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image_info->scenes" identifier -> field_identifier))) ;) (expression_statement "image_info->scene = uVar9;" (assignment_expression "image_info->scene = uVar9" (field_expression "image_info->scene" identifier -> field_identifier) = identifier) ;) (expression_statement "image_info->number_scenes = uVar9;" (assignment_expression "image_info->number_scenes = uVar9" (field_expression "image_info->number_scenes" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar17 = *__nptr;" (assignment_expression "bVar17 = *__nptr" identifier = (pointer_expression "*__nptr" * identifier)) ;) (expression_statement "uVar18 = uVar9;" (assignment_expression "uVar18 = uVar9" identifier = identifier) ;) (expression_statement "q = (char *)__nptr;" (assignment_expression "q = (char *)__nptr" identifier = (cast_expression "(char *)__nptr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (bVar17 != 0) {\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }" if (parenthesized_expression "(bVar17 != 0)" ( (binary_expression "bVar17 != 0" identifier != number_literal) )) (compound_statement "{\n        ppuVar10 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }\n        uVar9 = image_info->number_scenes;\n        uVar18 = image_info->scene;\n      }" { (expression_statement "ppuVar10 = __ctype_b_loc();" (assignment_expression "ppuVar10 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (while_statement "while( true ) {\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }\n          uVar11 = strtol((char *)__nptr,&q,10);\n          bVar17 = *q;\n          bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }\n          uVar12 = uVar11;\n          if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }\n          if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }\n          if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }\n          __nptr = (byte *)(q + 1);\n          if (*q == '\0') break;\n          bVar17 = q[1];\n        }" { (while_statement "while (((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )) {\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }" while (parenthesized_expression "(((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 ))" ( (parenthesized_expression "((*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)\n                 )" ( (binary_expression "(*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0 || (bVar17 == 0x2c)" (binary_expression "(*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" ( (binary_expression "(int)*ppuVar10 + (uint)bVar17 * 2 + 1" (binary_expression "(int)*ppuVar10 + (uint)bVar17 * 2" (cast_expression "(int)*ppuVar10" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar10" * identifier)) + (binary_expression "(uint)bVar17 * 2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(bVar17 == 0x2c)" ( (binary_expression "bVar17 == 0x2c" identifier == number_literal) ))) )) )) (compound_statement "{\n            __nptr = __nptr + 1;\n            bVar17 = *__nptr;\n          }" { (expression_statement "__nptr = __nptr + 1;" (assignment_expression "__nptr = __nptr + 1" identifier = (binary_expression "__nptr + 1" identifier + number_literal)) ;) (expression_statement "bVar17 = *__nptr;" (assignment_expression "bVar17 = *__nptr" identifier = (pointer_expression "*__nptr" * identifier)) ;) })) (expression_statement "uVar11 = strtol((char *)__nptr,&q,10);" (assignment_expression "uVar11 = strtol((char *)__nptr,&q,10)" identifier = (call_expression "strtol((char *)__nptr,&q,10)" identifier (argument_list "((char *)__nptr,&q,10)" ( (cast_expression "(char *)__nptr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&q" & identifier) , number_literal )))) ;) (expression_statement "bVar17 = *q;" (assignment_expression "bVar17 = *q" identifier = (pointer_expression "*q" * identifier)) ;) (expression_statement "bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);" (assignment_expression "bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" identifier = (pointer_expression "*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" ( (binary_expression "(int)*ppuVar10 + (uint)bVar17 * 2 + 1" (binary_expression "(int)*ppuVar10 + (uint)bVar17 * 2" (cast_expression "(int)*ppuVar10" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar10" * identifier)) + (binary_expression "(uint)bVar17 * 2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) (while_statement "while ((bVar2 & 0x20) != 0) {\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }" while (parenthesized_expression "((bVar2 & 0x20) != 0)" ( (binary_expression "(bVar2 & 0x20) != 0" (parenthesized_expression "(bVar2 & 0x20)" ( (binary_expression "bVar2 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            q = (char *)((byte *)q + 1);\n            bVar17 = *q;\n            bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);\n          }" { (expression_statement "q = (char *)((byte *)q + 1);" (assignment_expression "q = (char *)((byte *)q + 1)" identifier = (cast_expression "(char *)((byte *)q + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)q + 1)" ( (binary_expression "(byte *)q + 1" (cast_expression "(byte *)q" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) )))) ;) (expression_statement "bVar17 = *q;" (assignment_expression "bVar17 = *q" identifier = (pointer_expression "*q" * identifier)) ;) (expression_statement "bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1);" (assignment_expression "bVar2 = *(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" identifier = (pointer_expression "*(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar10 + (uint)bVar17 * 2 + 1)" ( (binary_expression "(int)*ppuVar10 + (uint)bVar17 * 2 + 1" (binary_expression "(int)*ppuVar10 + (uint)bVar17 * 2" (cast_expression "(int)*ppuVar10" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar10" * identifier)) + (binary_expression "(uint)bVar17 * 2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (if_statement "if ((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)) {\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }" if (parenthesized_expression "((bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14))" ( (binary_expression "(bVar17 == 0x2d) &&\n             (uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)" (parenthesized_expression "(bVar17 == 0x2d)" ( (binary_expression "bVar17 == 0x2d" identifier == number_literal) )) && (parenthesized_expression "(uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14)" ( (comma_expression "uVar14 = strtol((char *)((byte *)q + 1),&q,10), uVar12 = uVar14, uVar11 <= uVar14" (assignment_expression "uVar14 = strtol((char *)((byte *)q + 1),&q,10)" identifier = (call_expression "strtol((char *)((byte *)q + 1),&q,10)" identifier (argument_list "((char *)((byte *)q + 1),&q,10)" ( (cast_expression "(char *)((byte *)q + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((byte *)q + 1)" ( (binary_expression "(byte *)q + 1" (cast_expression "(byte *)q" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) + number_literal) ))) , (pointer_expression "&q" & identifier) , number_literal )))) , (comma_expression "uVar12 = uVar14, uVar11 <= uVar14" (assignment_expression "uVar12 = uVar14" identifier = identifier) , (binary_expression "uVar11 <= uVar14" identifier <= identifier))) ))) )) (compound_statement "{\n            uVar12 = uVar11;\n            uVar11 = uVar14;\n          }" { (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (expression_statement "uVar11 = uVar14;" (assignment_expression "uVar11 = uVar14" identifier = identifier) ;) })) (if_statement "if (uVar12 < image_info->scene) {\n            image_info->scene = uVar12;\n          }" if (parenthesized_expression "(uVar12 < image_info->scene)" ( (binary_expression "uVar12 < image_info->scene" identifier < (field_expression "image_info->scene" identifier -> field_identifier)) )) (compound_statement "{\n            image_info->scene = uVar12;\n          }" { (expression_statement "image_info->scene = uVar12;" (assignment_expression "image_info->scene = uVar12" (field_expression "image_info->scene" identifier -> field_identifier) = identifier) ;) })) (if_statement "if (image_info->number_scenes < uVar11) {\n            image_info->number_scenes = uVar11;\n          }" if (parenthesized_expression "(image_info->number_scenes < uVar11)" ( (binary_expression "image_info->number_scenes < uVar11" (field_expression "image_info->number_scenes" identifier -> field_identifier) < identifier) )) (compound_statement "{\n            image_info->number_scenes = uVar11;\n          }" { (expression_statement "image_info->number_scenes = uVar11;" (assignment_expression "image_info->number_scenes = uVar11" (field_expression "image_info->number_scenes" identifier -> field_identifier) = identifier) ;) })) (expression_statement "__nptr = (byte *)(q + 1);" (assignment_expression "__nptr = (byte *)(q + 1)" identifier = (cast_expression "(byte *)(q + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(q + 1)" ( (binary_expression "q + 1" identifier + number_literal) )))) ;) (if_statement "if (*q == '\0') break;" if (parenthesized_expression "(*q == '\0')" ( (binary_expression "*q == '\0'" (pointer_expression "*q" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "bVar17 = q[1];" (assignment_expression "bVar17 = q[1]" identifier = (subscript_expression "q[1]" identifier [ number_literal ])) ;) })) (expression_statement "uVar9 = image_info->number_scenes;" (assignment_expression "uVar9 = image_info->number_scenes" identifier = (field_expression "image_info->number_scenes" identifier -> field_identifier)) ;) (expression_statement "uVar18 = image_info->scene;" (assignment_expression "uVar18 = image_info->scene" identifier = (field_expression "image_info->scene" identifier -> field_identifier)) ;) })) (expression_statement "image_info->number_scenes = (uVar9 + 1) - uVar18;" (assignment_expression "image_info->number_scenes = (uVar9 + 1) - uVar18" (field_expression "image_info->number_scenes" identifier -> field_identifier) = (binary_expression "(uVar9 + 1) - uVar18" (parenthesized_expression "(uVar9 + 1)" ( (binary_expression "uVar9 + 1" identifier + number_literal) )) - identifier)) ;) }))) })) (expression_statement "component[0] = '\0';" (assignment_expression "component[0] = '\0'" (subscript_expression "component[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (image_info->magick[0] == '\0') {\n    GetPathComponent(pcVar8,ExtensionPath,component);\n  }" if (parenthesized_expression "(image_info->magick[0] == '\0')" ( (binary_expression "image_info->magick[0] == '\0'" (subscript_expression "image_info->magick[0]" (field_expression "image_info->magick" identifier -> field_identifier) [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    GetPathComponent(pcVar8,ExtensionPath,component);\n  }" { (expression_statement "GetPathComponent(pcVar8,ExtensionPath,component);" (call_expression "GetPathComponent(pcVar8,ExtensionPath,component)" identifier (argument_list "(pcVar8,ExtensionPath,component)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "image_info->affirm = MagickFalse;" (assignment_expression "image_info->affirm = MagickFalse" (field_expression "image_info->affirm" identifier -> field_identifier) = identifier) ;) (expression_statement "pEVar3 = AcquireExceptionInfo();" (assignment_expression "pEVar3 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (if_statement "if (component[0] != '\0') {\n    MVar4 = IsGlob(component);\n    if (MVar4 == MagickFalse) {\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }\n  }" if (parenthesized_expression "(component[0] != '\0')" ( (binary_expression "component[0] != '\0'" (subscript_expression "component[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    MVar4 = IsGlob(component);\n    if (MVar4 == MagickFalse) {\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }\n  }" { (expression_statement "MVar4 = IsGlob(component);" (assignment_expression "MVar4 = IsGlob(component)" identifier = (call_expression "IsGlob(component)" identifier (argument_list "(component)" ( identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n      CopyMagickString(magic,component,0x1000);\n      LocaleUpper(magic);\n      pMVar5 = GetMagickInfo(magic,pEVar3);\n      if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }\n      iVar16 = LocaleCompare(magic,"RGB");\n      if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }\n    }" { (expression_statement "CopyMagickString(magic,component,0x1000);" (call_expression "CopyMagickString(magic,component,0x1000)" identifier (argument_list "(magic,component,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "LocaleUpper(magic);" (call_expression "LocaleUpper(magic)" identifier (argument_list "(magic)" ( identifier ))) ;) (expression_statement "pMVar5 = GetMagickInfo(magic,pEVar3);" (assignment_expression "pMVar5 = GetMagickInfo(magic,pEVar3)" identifier = (call_expression "GetMagickInfo(magic,pEVar3)" identifier (argument_list "(magic,pEVar3)" ( identifier , identifier )))) ;) (if_statement "if ((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)) {\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }\n      else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }" if (parenthesized_expression "((pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType))" ( (binary_expression "(pMVar5 == (MagickInfo *)0x0) || (pMVar5->format_type == UndefinedFormatType)" (parenthesized_expression "(pMVar5 == (MagickInfo *)0x0)" ( (binary_expression "pMVar5 == (MagickInfo *)0x0" identifier == (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pMVar5->format_type == UndefinedFormatType)" ( (binary_expression "pMVar5->format_type == UndefinedFormatType" (field_expression "pMVar5->format_type" identifier -> field_identifier) == identifier) ))) )) (compound_statement "{\n        iVar16 = 1;\n        pcVar13 = "AUTOTRACE";\n        do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);\n      }" { (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (expression_statement "pcVar13 = "AUTOTRACE";" (assignment_expression "pcVar13 = "AUTOTRACE"" identifier = (string_literal ""AUTOTRACE"" " string_content ")) ;) (do_statement "do {\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        } while (pcVar13 != (char *)0x0);" do (compound_statement "{\n          if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;\n          pcVar13 = SetImageInfo::lexical_block_16::format_type_formats[iVar16];\n          iVar16 = iVar16 + 1;\n        }" { (if_statement "if ((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))\n          goto LAB_000e7e3c;" if (parenthesized_expression "((magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0))" ( (binary_expression "(magic[0] == *pcVar13) && (iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0)" (parenthesized_expression "(magic[0] == *pcVar13)" ( (binary_expression "magic[0] == *pcVar13" (subscript_expression "magic[0]" identifier [ number_literal ]) == (pointer_expression "*pcVar13" * identifier)) )) && (parenthesized_expression "(iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0)" ( (comma_expression "iVar15 = LocaleCompare(magic,pcVar13), iVar15 == 0" (assignment_expression "iVar15 = LocaleCompare(magic,pcVar13)" identifier = (call_expression "LocaleCompare(magic,pcVar13)" identifier (argument_list "(magic,pcVar13)" ( identifier , identifier )))) , (binary_expression "iVar15 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7e3c;" goto statement_identifier ;)) (ERROR "pcVar13 = SetImageInfo::" (assignment_expression "pcVar13 = SetImageInfo" identifier = identifier) : :) (labeled_statement "lexical_block_16::format_type_formats[iVar16];" statement_identifier : (ERROR ":" :) (expression_statement "format_type_formats[iVar16];" (subscript_expression "format_type_formats[iVar16]" identifier [ identifier ]) ;)) (expression_statement "iVar16 = iVar16 + 1;" (assignment_expression "iVar16 = iVar16 + 1" identifier = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar13 != (char *)0x0)" ( (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000e7e43:\n        CopyMagickString(image_info->magick,magic,0x1000);" statement_identifier : (expression_statement "CopyMagickString(image_info->magick,magic,0x1000);" (call_expression "CopyMagickString(image_info->magick,magic,0x1000)" identifier (argument_list "(image_info->magick,magic,0x1000)" ( (field_expression "image_info->magick" identifier -> field_identifier) , identifier , number_literal ))) ;)) }) (else_clause "else if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }" else (if_statement "if (pMVar5->format_type == ExplicitFormatType) {\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }" if (parenthesized_expression "(pMVar5->format_type == ExplicitFormatType)" ( (binary_expression "pMVar5->format_type == ExplicitFormatType" (field_expression "pMVar5->format_type" identifier -> field_identifier) == identifier) )) (compound_statement "{\nLAB_000e7e3c:\n        image_info->affirm = MagickTrue;\n        goto LAB_000e7e43;\n      }" { (labeled_statement "LAB_000e7e3c:\n        image_info->affirm = MagickTrue;" statement_identifier : (expression_statement "image_info->affirm = MagickTrue;" (assignment_expression "image_info->affirm = MagickTrue" (field_expression "image_info->affirm" identifier -> field_identifier) = identifier) ;)) (goto_statement "goto LAB_000e7e43;" goto statement_identifier ;) })))) (expression_statement "iVar16 = LocaleCompare(magic,"RGB");" (assignment_expression "iVar16 = LocaleCompare(magic,"RGB")" identifier = (call_expression "LocaleCompare(magic,"RGB")" identifier (argument_list "(magic,"RGB")" ( identifier , (string_literal ""RGB"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n        image_info->affirm = MagickFalse;\n      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n        image_info->affirm = MagickFalse;\n      }" { (expression_statement "image_info->affirm = MagickFalse;" (assignment_expression "image_info->affirm = MagickFalse" (field_expression "image_info->affirm" identifier -> field_identifier) = identifier) ;) })) })) })) (expression_statement "magic[0] = '\0';" (assignment_expression "magic[0] = '\0'" (subscript_expression "magic[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "GetPathComponent(pcVar8,MagickPath,magic);" (call_expression "GetPathComponent(pcVar8,MagickPath,magic)" identifier (argument_list "(pcVar8,MagickPath,magic)" ( identifier , identifier , identifier ))) ;) (if_statement "if (magic[0] == '\0') {\n    CopyMagickString(magic,image_info->magick,0x1000);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    if (frames == 0) {\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }\n    else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }\nLAB_000e77cf:\n    CopyMagickString(pcVar8,component,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(pEVar3);\n    if ((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(magic);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);\n    if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    pMVar5 = (MagickInfo *)0x0;\n    DestroyExceptionInfo(pEVar3);\nLAB_000e7865:\n    image_info->endian = UndefinedEndian;\n  }" if (parenthesized_expression "(magic[0] == '\0')" ( (binary_expression "magic[0] == '\0'" (subscript_expression "magic[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    CopyMagickString(magic,image_info->magick,0x1000);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    if (frames == 0) {\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }\n    else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }\nLAB_000e77cf:\n    CopyMagickString(pcVar8,component,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(pEVar3);\n    if ((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;\n  }" { (expression_statement "CopyMagickString(magic,image_info->magick,0x1000);" (call_expression "CopyMagickString(magic,image_info->magick,0x1000)" identifier (argument_list "(magic,image_info->magick,0x1000)" ( identifier , (field_expression "image_info->magick" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "pMVar5 = GetMagickInfo(magic,pEVar3);" (assignment_expression "pMVar5 = GetMagickInfo(magic,pEVar3)" identifier = (call_expression "GetMagickInfo(magic,pEVar3)" identifier (argument_list "(magic,pEVar3)" ( identifier , identifier )))) ;) (if_statement "if (frames == 0) {\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }\n    else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }" if (parenthesized_expression "(frames == 0)" ( (binary_expression "frames == 0" identifier == number_literal) )) (compound_statement "{\n      GetPathComponent(pcVar8,CanonicalPath,component);\n    }" { (expression_statement "GetPathComponent(pcVar8,CanonicalPath,component);" (call_expression "GetPathComponent(pcVar8,CanonicalPath,component)" identifier (argument_list "(pcVar8,CanonicalPath,component)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }" else (compound_statement "{\n      GetPathComponent(pcVar8,SubcanonicalPath,component);\n    }" { (expression_statement "GetPathComponent(pcVar8,SubcanonicalPath,component);" (call_expression "GetPathComponent(pcVar8,SubcanonicalPath,component)" identifier (argument_list "(pcVar8,SubcanonicalPath,component)" ( identifier , identifier , identifier ))) ;) }))) (labeled_statement "LAB_000e77cf:\n    CopyMagickString(pcVar8,component,0x1000);" statement_identifier : (expression_statement "CopyMagickString(pcVar8,component,0x1000);" (call_expression "CopyMagickString(pcVar8,component,0x1000)" identifier (argument_list "(pcVar8,component,0x1000)" ( identifier , identifier , number_literal ))) ;)) (labeled_statement "LAB_000e7842:\n    DestroyExceptionInfo(pEVar3);" statement_identifier : (expression_statement "DestroyExceptionInfo(pEVar3);" (call_expression "DestroyExceptionInfo(pEVar3)" identifier (argument_list "(pEVar3)" ( identifier ))) ;)) (if_statement "if ((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)) goto LAB_000e7865;" if (parenthesized_expression "((pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse))" ( (binary_expression "(pMVar5 == (MagickInfo *)0x0) ||\n       (MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)" (parenthesized_expression "(pMVar5 == (MagickInfo *)0x0)" ( (binary_expression "pMVar5 == (MagickInfo *)0x0" identifier == (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse)" ( (comma_expression "MVar4 = GetMagickEndianSupport(pMVar5), MVar4 == MagickFalse" (assignment_expression "MVar4 = GetMagickEndianSupport(pMVar5)" identifier = (call_expression "GetMagickEndianSupport(pMVar5)" identifier (argument_list "(pMVar5)" ( identifier )))) , (binary_expression "MVar4 == MagickFalse" identifier == identifier)) ))) )) (goto_statement "goto LAB_000e7865;" goto statement_identifier ;)) }) (else_clause "else {\n    LocaleUpper(magic);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);\n    if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    pMVar5 = (MagickInfo *)0x0;\n    DestroyExceptionInfo(pEVar3);\nLAB_000e7865:\n    image_info->endian = UndefinedEndian;\n  }" else (compound_statement "{\n    LocaleUpper(magic);\n    pMVar5 = GetMagickInfo(magic,pEVar3);\n    pDVar6 = GetDelegateInfo(magic,"*",pEVar3);\n    if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    pMVar5 = (MagickInfo *)0x0;\n    DestroyExceptionInfo(pEVar3);\nLAB_000e7865:\n    image_info->endian = UndefinedEndian;\n  }" { (expression_statement "LocaleUpper(magic);" (call_expression "LocaleUpper(magic)" identifier (argument_list "(magic)" ( identifier ))) ;) (expression_statement "pMVar5 = GetMagickInfo(magic,pEVar3);" (assignment_expression "pMVar5 = GetMagickInfo(magic,pEVar3)" identifier = (call_expression "GetMagickInfo(magic,pEVar3)" identifier (argument_list "(magic,pEVar3)" ( identifier , identifier )))) ;) (expression_statement "pDVar6 = GetDelegateInfo(magic,"*",pEVar3);" (assignment_expression "pDVar6 = GetDelegateInfo(magic,"*",pEVar3)" identifier = (call_expression "GetDelegateInfo(magic,"*",pEVar3)" identifier (argument_list "(magic,"*",pEVar3)" ( identifier , (string_literal ""*"" " string_content ") , identifier )))) ;) (if_statement "if (((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)) {\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" if (parenthesized_expression "(((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0))" ( (binary_expression "((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)) ||\n       (pDVar6 != (DelegateInfo *)0x0)" (parenthesized_expression "((pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0))" ( (binary_expression "(pDVar6 != (DelegateInfo *)0x0) ||\n        (pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)" (parenthesized_expression "(pDVar6 != (DelegateInfo *)0x0)" ( (binary_expression "pDVar6 != (DelegateInfo *)0x0" identifier != (cast_expression "(DelegateInfo *)0x0" ( (type_descriptor "DelegateInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0)" ( (comma_expression "pDVar6 = GetDelegateInfo("*",magic,pEVar3), pMVar5 != (MagickInfo *)0x0" (assignment_expression "pDVar6 = GetDelegateInfo("*",magic,pEVar3)" identifier = (call_expression "GetDelegateInfo("*",magic,pEVar3)" identifier (argument_list "("*",magic,pEVar3)" ( (string_literal ""*"" " string_content ") , identifier , identifier )))) , (binary_expression "pMVar5 != (MagickInfo *)0x0" identifier != (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(pDVar6 != (DelegateInfo *)0x0)" ( (binary_expression "pDVar6 != (DelegateInfo *)0x0" identifier != (cast_expression "(DelegateInfo *)0x0" ( (type_descriptor "DelegateInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      MVar4 = IsMagickConflict(magic);\n      if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" { (expression_statement "MVar4 = IsMagickConflict(magic);" (assignment_expression "MVar4 = IsMagickConflict(magic)" identifier = (call_expression "IsMagickConflict(magic)" identifier (argument_list "(magic)" ( identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n        image_info->affirm = MagickTrue;\n        CopyMagickString(image_info->magick,magic,0x1000);\n        GetPathComponent(pcVar8,CanonicalPath,component);\n        goto LAB_000e77cf;\n      }" { (expression_statement "image_info->affirm = MagickTrue;" (assignment_expression "image_info->affirm = MagickTrue" (field_expression "image_info->affirm" identifier -> field_identifier) = identifier) ;) (expression_statement "CopyMagickString(image_info->magick,magic,0x1000);" (call_expression "CopyMagickString(image_info->magick,magic,0x1000)" identifier (argument_list "(image_info->magick,magic,0x1000)" ( (field_expression "image_info->magick" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "GetPathComponent(pcVar8,CanonicalPath,component);" (call_expression "GetPathComponent(pcVar8,CanonicalPath,component)" identifier (argument_list "(pcVar8,CanonicalPath,component)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_000e77cf;" goto statement_identifier ;) })) (goto_statement "goto LAB_000e7842;" goto statement_identifier ;) })) (expression_statement "pMVar5 = (MagickInfo *)0x0;" (assignment_expression "pMVar5 = (MagickInfo *)0x0" identifier = (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DestroyExceptionInfo(pEVar3);" (call_expression "DestroyExceptionInfo(pEVar3)" identifier (argument_list "(pEVar3)" ( identifier ))) ;) (labeled_statement "LAB_000e7865:\n    image_info->endian = UndefinedEndian;" statement_identifier : (expression_statement "image_info->endian = UndefinedEndian;" (assignment_expression "image_info->endian = UndefinedEndian" (field_expression "image_info->endian" identifier -> field_identifier) = identifier) ;)) }))) (expression_statement "MVar4 = image_info->adjoin;" (assignment_expression "MVar4 = image_info->adjoin" identifier = (field_expression "image_info->adjoin" identifier -> field_identifier)) ;) (if_statement "if ((frames < 2) || (MVar4 == MagickFalse)) {\nLAB_000e7881:\n    if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);\n    iVar16 = LocaleCompare(component,pcVar8);\n    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    image_info->adjoin = MagickFalse;\n  }" if (parenthesized_expression "((frames < 2) || (MVar4 == MagickFalse))" ( (binary_expression "(frames < 2) || (MVar4 == MagickFalse)" (parenthesized_expression "(frames < 2)" ( (binary_expression "frames < 2" identifier < number_literal) )) || (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) ))) )) (compound_statement "{\nLAB_000e7881:\n    if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }\n  }" { (labeled_statement "LAB_000e7881:\n    if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }" statement_identifier : (if_statement "if (MVar4 == MagickFalse) {\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n      if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }\n    }" { (if_statement "if (frames == 0 && image_info->affirm == MagickFalse) {\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }" if (parenthesized_expression "(frames == 0 && image_info->affirm == MagickFalse)" ( (binary_expression "frames == 0 && image_info->affirm == MagickFalse" (binary_expression "frames == 0" identifier == number_literal) && (binary_expression "image_info->affirm == MagickFalse" (field_expression "image_info->affirm" identifier -> field_identifier) == identifier)) )) (compound_statement "{\nLAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);\n        MVar4 = MagickFalse;\n        if (sVar7 == 0) goto LAB_000e7ac5;\n        image = AcquireImage(image_info,exception);\n        CopyMagickString(image->filename,pcVar8,0x1000);\n        MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n        if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        MVar4 = IsBlobSeekable(image);\n        if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }\n        magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);\n        if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }\n        memset(magic_00,0,sVar7);\n        sVar7 = ReadBlob(image,sVar7,magic_00);\n        SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);\n        CloseBlob(image);\n        DestroyImage(image);\n        pEVar3 = AcquireExceptionInfo();\n        magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);\n        RelinquishMagickMemory(magic_00);\n        if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(pEVar3);\n        MVar4 = MagickTrue;\n        goto LAB_000e7ac5;\n      }" { (labeled_statement "LAB_000e78a3:\n        sVar7 = GetMagicPatternExtent(exception);" statement_identifier : (expression_statement "sVar7 = GetMagicPatternExtent(exception);" (assignment_expression "sVar7 = GetMagicPatternExtent(exception)" identifier = (call_expression "GetMagicPatternExtent(exception)" identifier (argument_list "(exception)" ( identifier )))) ;)) (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;) (if_statement "if (sVar7 == 0) goto LAB_000e7ac5;" if (parenthesized_expression "(sVar7 == 0)" ( (binary_expression "sVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;)) (expression_statement "image = AcquireImage(image_info,exception);" (assignment_expression "image = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "CopyMagickString(image->filename,pcVar8,0x1000);" (call_expression "CopyMagickString(image->filename,pcVar8,0x1000)" identifier (argument_list "(image->filename,pcVar8,0x1000)" ( (field_expression "image->filename" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);" (assignment_expression "MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,image,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,image,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }" { (expression_statement "DestroyImage(image);" (call_expression "DestroyImage(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "MVar4 = IsBlobSeekable(image);" (assignment_expression "MVar4 = IsBlobSeekable(image)" identifier = (call_expression "IsBlobSeekable(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if ((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)) {\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }" if (parenthesized_expression "((MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse))" ( (binary_expression "(MVar4 == MagickFalse) || (MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)" (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) || (parenthesized_expression "(MVar4 = IsBlobExempt(image), MVar4 != MagickFalse)" ( (comma_expression "MVar4 = IsBlobExempt(image), MVar4 != MagickFalse" (assignment_expression "MVar4 = IsBlobExempt(image)" identifier = (call_expression "IsBlobExempt(image)" identifier (argument_list "(image)" ( identifier )))) , (binary_expression "MVar4 != MagickFalse" identifier != identifier)) ))) )) (compound_statement "{\n          component[0] = '\0';\n          MVar4 = ImageToFile(image,component,exception);\n          CloseBlob(image);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(image_info,(FILE *)0x0);\n          CopyMagickString(image->filename,component,0x1000);\n          MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);\n          if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(pcVar8,component,0x1000);\n          image_info->temporary = MagickTrue;\n        }" { (expression_statement "component[0] = '\0';" (assignment_expression "component[0] = '\0'" (subscript_expression "component[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "MVar4 = ImageToFile(image,component,exception);" (assignment_expression "MVar4 = ImageToFile(image,component,exception)" identifier = (call_expression "ImageToFile(image,component,exception)" identifier (argument_list "(image,component,exception)" ( identifier , identifier , identifier )))) ;) (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;) (if_statement "if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }" { (expression_statement "RelinquishUniqueFileResource(component);" (call_expression "RelinquishUniqueFileResource(component)" identifier (argument_list "(component)" ( identifier ))) ;) (expression_statement "DestroyImage(image);" (call_expression "DestroyImage(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "SetImageInfoFile(image_info,(FILE *)0x0);" (call_expression "SetImageInfoFile(image_info,(FILE *)0x0)" identifier (argument_list "(image_info,(FILE *)0x0)" ( identifier , (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "CopyMagickString(image->filename,component,0x1000);" (call_expression "CopyMagickString(image->filename,component,0x1000)" identifier (argument_list "(image->filename,component,0x1000)" ( (field_expression "image->filename" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception);" (assignment_expression "MVar4 = OpenBlob(image_info,image,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,image,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,image,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (MVar4 == MagickFalse) {\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (compound_statement "{\n            RelinquishUniqueFileResource(component);\n            DestroyImage(image);\n            MVar4 = MagickFalse;\n            goto LAB_000e7ac5;\n          }" { (expression_statement "RelinquishUniqueFileResource(component);" (call_expression "RelinquishUniqueFileResource(component)" identifier (argument_list "(component)" ( identifier ))) ;) (expression_statement "DestroyImage(image);" (call_expression "DestroyImage(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "CopyMagickString(pcVar8,component,0x1000);" (call_expression "CopyMagickString(pcVar8,component,0x1000)" identifier (argument_list "(pcVar8,component,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "image_info->temporary = MagickTrue;" (assignment_expression "image_info->temporary = MagickTrue" (field_expression "image_info->temporary" identifier -> field_identifier) = identifier) ;) })) (expression_statement "magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7);" (assignment_expression "magic_00 = (uchar *)AcquireQuantumMemory(1,sVar7)" identifier = (cast_expression "(uchar *)AcquireQuantumMemory(1,sVar7)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(1,sVar7)" identifier (argument_list "(1,sVar7)" ( number_literal , identifier ))))) ;) (if_statement "if (magic_00 == (uchar *)0x0) {\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }" if (parenthesized_expression "(magic_00 == (uchar *)0x0)" ( (binary_expression "magic_00 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          CloseBlob(image);\n          DestroyImage(image);\n          MVar4 = MagickFalse;\n          goto LAB_000e7ac5;\n        }" { (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "DestroyImage(image);" (call_expression "DestroyImage(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "MVar4 = MagickFalse;" (assignment_expression "MVar4 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "memset(magic_00,0,sVar7);" (call_expression "memset(magic_00,0,sVar7)" identifier (argument_list "(magic_00,0,sVar7)" ( identifier , number_literal , identifier ))) ;) (expression_statement "sVar7 = ReadBlob(image,sVar7,magic_00);" (assignment_expression "sVar7 = ReadBlob(image,sVar7,magic_00)" identifier = (call_expression "ReadBlob(image,sVar7,magic_00)" identifier (argument_list "(image,sVar7,magic_00)" ( identifier , identifier , identifier )))) ;) (expression_statement "SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1);" (call_expression "SeekBlob(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1)" identifier (argument_list "(image,CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7),1)" ( identifier , (call_expression "CONCAT44(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7)" identifier (argument_list "(-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)),-sVar7)" ( (unary_expression "-(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0))" - (parenthesized_expression "(((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0))" ( (binary_expression "((int)sVar7 >> 0x1f) + (uint)(sVar7 != 0)" (parenthesized_expression "((int)sVar7 >> 0x1f)" ( (binary_expression "(int)sVar7 >> 0x1f" (cast_expression "(int)sVar7" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )) + (call_expression "(uint)(sVar7 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(sVar7 != 0)" ( (binary_expression "sVar7 != 0" identifier != number_literal) )))) ))) , (unary_expression "-sVar7" - identifier) ))) , number_literal ))) ;) (expression_statement "CloseBlob(image);" (call_expression "CloseBlob(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "DestroyImage(image);" (call_expression "DestroyImage(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "pEVar3 = AcquireExceptionInfo();" (assignment_expression "pEVar3 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "magic_info = GetMagicInfo(magic_00,sVar7,pEVar3);" (assignment_expression "magic_info = GetMagicInfo(magic_00,sVar7,pEVar3)" identifier = (call_expression "GetMagicInfo(magic_00,sVar7,pEVar3)" identifier (argument_list "(magic_00,sVar7,pEVar3)" ( identifier , identifier , identifier )))) ;) (expression_statement "RelinquishMagickMemory(magic_00);" (call_expression "RelinquishMagickMemory(magic_00)" identifier (argument_list "(magic_00)" ( identifier ))) ;) (if_statement "if ((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)) {\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }\n        else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }" if (parenthesized_expression "((magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0))" ( (binary_expression "(magic_info == (MagicInfo *)0x0) ||\n           (pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)" (parenthesized_expression "(magic_info == (MagicInfo *)0x0)" ( (binary_expression "magic_info == (MagicInfo *)0x0" identifier == (cast_expression "(MagicInfo *)0x0" ( (type_descriptor "MagicInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0)" ( (comma_expression "pcVar8 = GetMagicName(magic_info), pcVar8 == (char *)0x0" (assignment_expression "pcVar8 = GetMagicName(magic_info)" identifier = (call_expression "GetMagicName(magic_info)" identifier (argument_list "(magic_info)" ( identifier )))) , (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n          pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n          if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          image_info->endian = UndefinedEndian;\n        }" { (expression_statement "pMVar5 = GetMagickInfo(image_info->magick,pEVar3);" (assignment_expression "pMVar5 = GetMagickInfo(image_info->magick,pEVar3)" identifier = (call_expression "GetMagickInfo(image_info->magick,pEVar3)" identifier (argument_list "(image_info->magick,pEVar3)" ( (field_expression "image_info->magick" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (pMVar5 != (MagickInfo *)0x0) {\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }" if (parenthesized_expression "(pMVar5 != (MagickInfo *)0x0)" ( (binary_expression "pMVar5 != (MagickInfo *)0x0" identifier != (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            MVar4 = GetMagickEndianSupport(pMVar5);\n            goto joined_r0x000e7f90;\n          }" { (expression_statement "MVar4 = GetMagickEndianSupport(pMVar5);" (assignment_expression "MVar4 = GetMagickEndianSupport(pMVar5)" identifier = (call_expression "GetMagickEndianSupport(pMVar5)" identifier (argument_list "(pMVar5)" ( identifier )))) ;) (goto_statement "goto joined_r0x000e7f90;" goto statement_identifier ;) })) (labeled_statement "LAB_000e7a51:\n          image_info->endian = UndefinedEndian;" statement_identifier : (expression_statement "image_info->endian = UndefinedEndian;" (assignment_expression "image_info->endian = UndefinedEndian" (field_expression "image_info->endian" identifier -> field_identifier) = identifier) ;)) }) (else_clause "else {\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }" else (compound_statement "{\n          if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }\n          MVar4 = GetMagickEndianSupport(pMVar5);\njoined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;\n        }" { (if_statement "if ((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)) {\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }" if (parenthesized_expression "((pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse))" ( (binary_expression "(pMVar5 == (MagickInfo *)0x0) ||\n             (MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)" (parenthesized_expression "(pMVar5 == (MagickInfo *)0x0)" ( (binary_expression "pMVar5 == (MagickInfo *)0x0" identifier == (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse)" ( (comma_expression "MVar4 = GetMagickUseExtension(pMVar5), MVar4 == MagickFalse" (assignment_expression "MVar4 = GetMagickUseExtension(pMVar5)" identifier = (call_expression "GetMagickUseExtension(pMVar5)" identifier (argument_list "(pMVar5)" ( identifier )))) , (binary_expression "MVar4 == MagickFalse" identifier == identifier)) ))) )) (compound_statement "{\nLAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);\n            CopyMagickString(image_info->magick,pcVar8,0x1000);\n            pMVar5 = GetMagickInfo(image_info->magick,pEVar3);\n            if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;\n          }" { (labeled_statement "LAB_000e7a0e:\n            pcVar8 = GetMagicName(magic_info);" statement_identifier : (expression_statement "pcVar8 = GetMagicName(magic_info);" (assignment_expression "pcVar8 = GetMagicName(magic_info)" identifier = (call_expression "GetMagicName(magic_info)" identifier (argument_list "(magic_info)" ( identifier )))) ;)) (expression_statement "CopyMagickString(image_info->magick,pcVar8,0x1000);" (call_expression "CopyMagickString(image_info->magick,pcVar8,0x1000)" identifier (argument_list "(image_info->magick,pcVar8,0x1000)" ( (field_expression "image_info->magick" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "pMVar5 = GetMagickInfo(image_info->magick,pEVar3);" (assignment_expression "pMVar5 = GetMagickInfo(image_info->magick,pEVar3)" identifier = (call_expression "GetMagickInfo(image_info->magick,pEVar3)" identifier (argument_list "(image_info->magick,pEVar3)" ( (field_expression "image_info->magick" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (pMVar5 == (MagickInfo *)0x0) goto LAB_000e7a51;" if (parenthesized_expression "(pMVar5 == (MagickInfo *)0x0)" ( (binary_expression "pMVar5 == (MagickInfo *)0x0" identifier == (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000e7a51;" goto statement_identifier ;)) }) (else_clause "else {\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }" else (compound_statement "{\n            pcVar8 = GetMagicName(magic_info);\n            iVar16 = LocaleCompare(pMVar5->module,pcVar8);\n            if (iVar16 != 0) goto LAB_000e7a0e;\n            CopyMagickString(image_info->magick,pMVar5->name,0x1000);\n          }" { (expression_statement "pcVar8 = GetMagicName(magic_info);" (assignment_expression "pcVar8 = GetMagicName(magic_info)" identifier = (call_expression "GetMagicName(magic_info)" identifier (argument_list "(magic_info)" ( identifier )))) ;) (expression_statement "iVar16 = LocaleCompare(pMVar5->module,pcVar8);" (assignment_expression "iVar16 = LocaleCompare(pMVar5->module,pcVar8)" identifier = (call_expression "LocaleCompare(pMVar5->module,pcVar8)" identifier (argument_list "(pMVar5->module,pcVar8)" ( (field_expression "pMVar5->module" identifier -> field_identifier) , identifier )))) ;) (if_statement "if (iVar16 != 0) goto LAB_000e7a0e;" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000e7a0e;" goto statement_identifier ;)) (expression_statement "CopyMagickString(image_info->magick,pMVar5->name,0x1000);" (call_expression "CopyMagickString(image_info->magick,pMVar5->name,0x1000)" identifier (argument_list "(image_info->magick,pMVar5->name,0x1000)" ( (field_expression "image_info->magick" identifier -> field_identifier) , (field_expression "pMVar5->name" identifier -> field_identifier) , number_literal ))) ;) }))) (expression_statement "MVar4 = GetMagickEndianSupport(pMVar5);" (assignment_expression "MVar4 = GetMagickEndianSupport(pMVar5)" identifier = (call_expression "GetMagickEndianSupport(pMVar5)" identifier (argument_list "(pMVar5)" ( identifier )))) ;) (labeled_statement "joined_r0x000e7f90:\n          if (MVar4 == MagickFalse) goto LAB_000e7a51;" statement_identifier : (if_statement "if (MVar4 == MagickFalse) goto LAB_000e7a51;" if (parenthesized_expression "(MVar4 == MagickFalse)" ( (binary_expression "MVar4 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_000e7a51;" goto statement_identifier ;))) }))) (expression_statement "DestroyExceptionInfo(pEVar3);" (call_expression "DestroyExceptionInfo(pEVar3)" identifier (argument_list "(pEVar3)" ( identifier ))) ;) (expression_statement "MVar4 = MagickTrue;" (assignment_expression "MVar4 = MagickTrue" identifier = identifier) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) }) (else_clause "else if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }" else (if_statement "if (frames == 0) {\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }\n    else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }" if (parenthesized_expression "(frames == 0)" ( (binary_expression "frames == 0" identifier == number_literal) )) (compound_statement "{\n      if (image_info->affirm == MagickFalse) goto LAB_000e78a3;\n    }" { (if_statement "if (image_info->affirm == MagickFalse) goto LAB_000e78a3;" if (parenthesized_expression "(image_info->affirm == MagickFalse)" ( (binary_expression "image_info->affirm == MagickFalse" (field_expression "image_info->affirm" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_000e78a3;" goto statement_identifier ;)) }) (else_clause "else {\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }" else (compound_statement "{\n      pMVar5 = GetMagickInfo(magic,exception);\n      if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;\n    }" { (expression_statement "pMVar5 = GetMagickInfo(magic,exception);" (assignment_expression "pMVar5 = GetMagickInfo(magic,exception)" identifier = (call_expression "GetMagickInfo(magic,exception)" identifier (argument_list "(magic,exception)" ( identifier , identifier )))) ;) (if_statement "if ((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))\n      goto LAB_000e7ab4;" if (parenthesized_expression "((pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse))" ( (binary_expression "(pMVar5 != (MagickInfo *)0x0) && (MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse)" (parenthesized_expression "(pMVar5 != (MagickInfo *)0x0)" ( (binary_expression "pMVar5 != (MagickInfo *)0x0" identifier != (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse)" ( (comma_expression "MVar4 = GetMagickAdjoin(pMVar5), MVar4 == MagickFalse" (assignment_expression "MVar4 = GetMagickAdjoin(pMVar5)" identifier = (call_expression "GetMagickAdjoin(pMVar5)" identifier (argument_list "(pMVar5)" ( identifier )))) , (binary_expression "MVar4 == MagickFalse" identifier == identifier)) ))) )) (goto_statement "goto LAB_000e7ab4;" goto statement_identifier ;)) })))))) }) (else_clause "else {\n    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);\n    iVar16 = LocaleCompare(component,pcVar8);\n    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    image_info->adjoin = MagickFalse;\n  }" else (compound_statement "{\n    InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);\n    iVar16 = LocaleCompare(component,pcVar8);\n    if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    image_info->adjoin = MagickFalse;\n  }" { (expression_statement "InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception);" (call_expression "InterpretImageFilename(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception)" identifier (argument_list "(image_info,(Image *)0x0,pcVar8,image_info->scene,component,exception)" ( identifier , (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (field_expression "image_info->scene" identifier -> field_identifier) , identifier , identifier ))) ;) (expression_statement "iVar16 = LocaleCompare(component,pcVar8);" (assignment_expression "iVar16 = LocaleCompare(component,pcVar8)" identifier = (call_expression "LocaleCompare(component,pcVar8)" identifier (argument_list "(component,pcVar8)" ( identifier , identifier )))) ;) (if_statement "if ((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)) {\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }" if (parenthesized_expression "((iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0))" ( (binary_expression "(iVar16 == 0) || (pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)" (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) || (parenthesized_expression "(pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0)" ( (comma_expression "pcVar13 = strchr(component,0x25), pcVar13 != (char *)0x0" (assignment_expression "pcVar13 = strchr(component,0x25)" identifier = (call_expression "strchr(component,0x25)" identifier (argument_list "(component,0x25)" ( identifier , number_literal )))) , (binary_expression "pcVar13 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      MVar4 = image_info->adjoin;\n      goto LAB_000e7881;\n    }" { (expression_statement "MVar4 = image_info->adjoin;" (assignment_expression "MVar4 = image_info->adjoin" identifier = (field_expression "image_info->adjoin" identifier -> field_identifier)) ;) (goto_statement "goto LAB_000e7881;" goto statement_identifier ;) })) (labeled_statement "LAB_000e7ab4:\n    image_info->adjoin = MagickFalse;" statement_identifier : (expression_statement "image_info->adjoin = MagickFalse;" (assignment_expression "image_info->adjoin = MagickFalse" (field_expression "image_info->adjoin" identifier -> field_identifier) = identifier) ;)) }))) (expression_statement "MVar4 = MagickTrue;" (assignment_expression "MVar4 = MagickTrue" identifier = identifier) ;) (labeled_statement "LAB_000e7ac5:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return MVar4;" return identifier ;) })))
(translation_unit "undefined4 SetImageInfo(int param_1,uint param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar2;\n}\n\n" (function_definition "undefined4 SetImageInfo(int param_1,uint param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar2;\n}" type_identifier (function_declarator "SetImageInfo(int param_1,uint param_2,undefined4 param_3)" identifier (parameter_list "(int param_1,uint param_2,undefined4 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar2;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "ushort **ppuVar9;" type_identifier (pointer_declarator "**ppuVar9" * (pointer_declarator "*ppuVar9" * identifier)) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "byte *__nptr;" type_identifier (pointer_declarator "*__nptr" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte *local_2024;" type_identifier (pointer_declarator "*local_2024" * identifier) ;) (declaration "char local_2020 [4096];" primitive_type (array_declarator "local_2020 [4096]" identifier [ number_literal ]) ;) (declaration "char local_1020 [4096];" primitive_type (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0xe7689;" (assignment_expression "uStack_14 = 0xe7689" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" { (expression_statement "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");" (call_expression "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" identifier (argument_list "("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" ( (string_literal ""image_info != (ImageInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""SetImageInfo"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" * (cast_expression "(int *)(param_1 + 0x31f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f4)" ( (binary_expression "param_1 + 0x31f4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" identifier (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""SetImageInfo"" " string_content ") ))) ;) })) (expression_statement "iVar6 = param_1 + 0x21f0;" (assignment_expression "iVar6 = param_1 + 0x21f0" identifier = (binary_expression "param_1 + 0x21f0" identifier + number_literal)) ;) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" ( (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" * (cast_expression "(int *)(param_1 + 0x31f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f0)" ( (binary_expression "param_1 + 0x31f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6)" identifier (argument_list "(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6)" ( number_literal , (string_literal ""MagickCore/image.c"" " string_content ") , (string_literal ""SetImageInfo"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "GetPathComponent(iVar6,7,local_2020);" (call_expression "GetPathComponent(iVar6,7,local_2020)" identifier (argument_list "(iVar6,7,local_2020)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }" if (parenthesized_expression "(local_2020[0] != '\0')" ( (binary_expression "local_2020[0] != '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }" { (expression_statement "iVar3 = IsSceneGeometry(local_2020,0);" (assignment_expression "iVar3 = IsSceneGeometry(local_2020,0)" identifier = (call_expression "IsSceneGeometry(local_2020,0)" identifier (argument_list "(local_2020,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }" { (expression_statement "iVar3 = IsGeometry(local_2020);" (assignment_expression "iVar3 = IsGeometry(local_2020)" identifier = (call_expression "IsGeometry(local_2020)" identifier (argument_list "(local_2020)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        CloneString(param_1 + 0x1c,local_2020);\n      }" { (expression_statement "CloneString(param_1 + 0x1c,local_2020);" (call_expression "CloneString(param_1 + 0x1c,local_2020)" identifier (argument_list "(param_1 + 0x1c,local_2020)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) , identifier ))) ;) })) }) (else_clause "else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" else (compound_statement "{\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" { (expression_statement "CloneString(param_1 + 0x24,local_2020);" (call_expression "CloneString(param_1 + 0x24,local_2020)" identifier (argument_list "(param_1 + 0x24,local_2020)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) , identifier ))) ;) (expression_statement "uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);" (assignment_expression "uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10)" identifier = (call_expression "strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10)" identifier (argument_list "(*(char **)(param_1 + 0x24),(char **)0x0,10)" ( (pointer_expression "*(char **)(param_1 + 0x24)" * (cast_expression "(char **)(param_1 + 0x24)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "__nptr = *(byte **)(param_1 + 0x24);" (assignment_expression "__nptr = *(byte **)(param_1 + 0x24)" identifier = (pointer_expression "*(byte **)(param_1 + 0x24)" * (cast_expression "(byte **)(param_1 + 0x24)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(ulong *)(param_1 + 0x28) = uVar8;" (assignment_expression "*(ulong *)(param_1 + 0x28) = uVar8" (pointer_expression "*(ulong *)(param_1 + 0x28)" * (cast_expression "(ulong *)(param_1 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(param_1 + 0x2c) = uVar8;" (assignment_expression "*(ulong *)(param_1 + 0x2c) = uVar8" (pointer_expression "*(ulong *)(param_1 + 0x2c)" * (cast_expression "(ulong *)(param_1 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "bVar14 = *__nptr;" (assignment_expression "bVar14 = *__nptr" identifier = (pointer_expression "*__nptr" * identifier)) ;) (expression_statement "uVar15 = uVar8;" (assignment_expression "uVar15 = uVar8" identifier = identifier) ;) (expression_statement "local_2024 = __nptr;" (assignment_expression "local_2024 = __nptr" identifier = identifier) ;) (if_statement "if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }" { (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (while_statement "while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }" { (while_statement "while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }" while (parenthesized_expression "(((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                )" ( (parenthesized_expression "((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))" ( (binary_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c)" (binary_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar9" * identifier)) + (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) || (parenthesized_expression "(bVar14 == 0x2c)" ( (binary_expression "bVar14 == 0x2c" identifier == number_literal) ))) )) )) (compound_statement "{\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }" { (expression_statement "__nptr = __nptr + 1;" (assignment_expression "__nptr = __nptr + 1" identifier = (binary_expression "__nptr + 1" identifier + number_literal)) ;) (expression_statement "bVar14 = *__nptr;" (assignment_expression "bVar14 = *__nptr" identifier = (pointer_expression "*__nptr" * identifier)) ;) })) (expression_statement "uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);" (assignment_expression "uVar10 = strtol((char *)__nptr,(char **)&local_2024,10)" identifier = (call_expression "strtol((char *)__nptr,(char **)&local_2024,10)" identifier (argument_list "((char *)__nptr,(char **)&local_2024,10)" ( (cast_expression "(char *)__nptr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char **)&local_2024" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_2024" & identifier)) , number_literal )))) ;) (expression_statement "bVar14 = *local_2024;" (assignment_expression "bVar14 = *local_2024" identifier = (pointer_expression "*local_2024" * identifier)) ;) (expression_statement "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);" (assignment_expression "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" identifier = (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar9" * identifier)) + (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) (while_statement "while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }" while (parenthesized_expression "((bVar1 & 0x20) != 0)" ( (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }" { (expression_statement "local_2024 = local_2024 + 1;" (assignment_expression "local_2024 = local_2024 + 1" identifier = (binary_expression "local_2024 + 1" identifier + number_literal)) ;) (expression_statement "bVar14 = *local_2024;" (assignment_expression "bVar14 = *local_2024" identifier = (pointer_expression "*local_2024" * identifier)) ;) (expression_statement "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);" (assignment_expression "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" identifier = (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" ( (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar9" * identifier)) + (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) ))))) ;) })) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (if_statement "if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }" if (parenthesized_expression "((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13))" ( (binary_expression "(bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)" (parenthesized_expression "(bVar14 == 0x2d)" ( (binary_expression "bVar14 == 0x2d" identifier == number_literal) )) && (parenthesized_expression "(uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)" ( (comma_expression "uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13" (assignment_expression "uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10)" identifier = (call_expression "strtol((char *)(local_2024 + 1),(char **)&local_2024,10)" identifier (argument_list "((char *)(local_2024 + 1),(char **)&local_2024,10)" ( (cast_expression "(char *)(local_2024 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2024 + 1)" ( (binary_expression "local_2024 + 1" identifier + number_literal) ))) , (cast_expression "(char **)&local_2024" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_2024" & identifier)) , number_literal )))) , (comma_expression "uVar11 = uVar13,\n             uVar10 <= uVar13" (assignment_expression "uVar11 = uVar13" identifier = identifier) , (binary_expression "uVar10 <= uVar13" identifier <= identifier))) ))) )) (compound_statement "{\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }" { (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" identifier = identifier) ;) (expression_statement "uVar10 = uVar13;" (assignment_expression "uVar10 = uVar13" identifier = identifier) ;) })) (if_statement "if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }" if (parenthesized_expression "(uVar11 < *(uint *)(param_1 + 0x28))" ( (binary_expression "uVar11 < *(uint *)(param_1 + 0x28)" identifier < (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }" { (expression_statement "*(uint *)(param_1 + 0x28) = uVar11;" (assignment_expression "*(uint *)(param_1 + 0x28) = uVar11" (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }" if (parenthesized_expression "(*(uint *)(param_1 + 0x2c) < uVar10)" ( (binary_expression "*(uint *)(param_1 + 0x2c) < uVar10" (pointer_expression "*(uint *)(param_1 + 0x2c)" * (cast_expression "(uint *)(param_1 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }" { (expression_statement "*(uint *)(param_1 + 0x2c) = uVar10;" (assignment_expression "*(uint *)(param_1 + 0x2c) = uVar10" (pointer_expression "*(uint *)(param_1 + 0x2c)" * (cast_expression "(uint *)(param_1 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "__nptr = local_2024 + 1;" (assignment_expression "__nptr = local_2024 + 1" identifier = (binary_expression "local_2024 + 1" identifier + number_literal)) ;) (if_statement "if (*local_2024 == 0) break;" if (parenthesized_expression "(*local_2024 == 0)" ( (binary_expression "*local_2024 == 0" (pointer_expression "*local_2024" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "bVar14 = local_2024[1];" (assignment_expression "bVar14 = local_2024[1]" identifier = (subscript_expression "local_2024[1]" identifier [ number_literal ])) ;) })) (expression_statement "uVar8 = *(ulong *)(param_1 + 0x2c);" (assignment_expression "uVar8 = *(ulong *)(param_1 + 0x2c)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x2c)" * (cast_expression "(ulong *)(param_1 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) ))))) ;) (expression_statement "uVar15 = *(ulong *)(param_1 + 0x28);" (assignment_expression "uVar15 = *(ulong *)(param_1 + 0x28)" identifier = (pointer_expression "*(ulong *)(param_1 + 0x28)" * (cast_expression "(ulong *)(param_1 + 0x28)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) })) (expression_statement "*(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;" (assignment_expression "*(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15" (pointer_expression "*(ulong *)(param_1 + 0x2c)" * (cast_expression "(ulong *)(param_1 + 0x2c)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) = (binary_expression "(uVar8 + 1) - uVar15" (parenthesized_expression "(uVar8 + 1)" ( (binary_expression "uVar8 + 1" identifier + number_literal) )) - identifier)) ;) }))) })) (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }" if (parenthesized_expression "(*(char *)(param_1 + 0x1f0) == '\0')" ( (binary_expression "*(char *)(param_1 + 0x1f0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1f0)" * (cast_expression "(char *)(param_1 + 0x1f0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    GetPathComponent(iVar6,6,local_2020);\n  }" { (expression_statement "GetPathComponent(iVar6,6,local_2020);" (call_expression "GetPathComponent(iVar6,6,local_2020)" identifier (argument_list "(iVar6,6,local_2020)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (if_statement "if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }" if (parenthesized_expression "(local_2020[0] != '\0')" ( (binary_expression "local_2020[0] != '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }" { (expression_statement "iVar3 = FUN_001a30a0(local_2020);" (assignment_expression "iVar3 = FUN_001a30a0(local_2020)" identifier = (call_expression "FUN_001a30a0(local_2020)" identifier (argument_list "(local_2020)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }" { (expression_statement "CopyMagickString(local_1020,local_2020,0x1000);" (call_expression "CopyMagickString(local_1020,local_2020,0x1000)" identifier (argument_list "(local_1020,local_2020,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "LocaleUpper(local_1020);" (call_expression "LocaleUpper(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "iVar3 = GetMagickInfo(local_1020,uVar2);" (assignment_expression "iVar3 = GetMagickInfo(local_1020,uVar2)" identifier = (call_expression "GetMagickInfo(local_1020,uVar2)" identifier (argument_list "(local_1020,uVar2)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" if (parenthesized_expression "((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0))" ( (binary_expression "(iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }" { (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;) (expression_statement "pcVar12 = "AUTOTRACE";" (assignment_expression "pcVar12 = "AUTOTRACE"" identifier = (string_literal ""AUTOTRACE"" " string_content ")) ;) (do_statement "do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);" do (compound_statement "{\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        }" { (if_statement "if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;" if (parenthesized_expression "((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             )" ( (binary_expression "(local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)" (parenthesized_expression "(local_1020[0] == *pcVar12)" ( (binary_expression "local_1020[0] == *pcVar12" (subscript_expression "local_1020[0]" identifier [ number_literal ]) == (pointer_expression "*pcVar12" * identifier)) )) && (parenthesized_expression "(iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)" ( (comma_expression "iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0" (assignment_expression "iVar5 = LocaleCompare(local_1020,pcVar12)" identifier = (call_expression "LocaleCompare(local_1020,pcVar12)" identifier (argument_list "(local_1020,pcVar12)" ( identifier , identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7e3c;" goto statement_identifier ;)) (expression_statement "pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];" (assignment_expression "pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3]" identifier = (subscript_expression "(&PTR_s_AUTOTRACE_003bc140)[iVar3]" (parenthesized_expression "(&PTR_s_AUTOTRACE_003bc140)" ( (pointer_expression "&PTR_s_AUTOTRACE_003bc140" & identifier) )) [ identifier ])) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" statement_identifier : (expression_statement "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000)" identifier (argument_list "(param_1 + 0x1f0,local_1020,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier , number_literal ))) ;)) }) (else_clause "else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" else (if_statement "if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" if (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 2)" ( (binary_expression "*(int *)(iVar3 + 0x28) == 2" (pointer_expression "*(int *)(iVar3 + 0x28)" * (cast_expression "(int *)(iVar3 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x28)" ( (binary_expression "iVar3 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" { (labeled_statement "LAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;)) (goto_statement "goto LAB_000e7e43;" goto statement_identifier ;) })))) (expression_statement "iVar3 = LocaleCompare(local_1020,"RGB");" (assignment_expression "iVar3 = LocaleCompare(local_1020,"RGB")" identifier = (call_expression "LocaleCompare(local_1020,"RGB")" identifier (argument_list "(local_1020,"RGB")" ( identifier , (string_literal ""RGB"" " string_content ") )))) ;) (if_statement "if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) })) })) })) (expression_statement "local_1020[0] = '\0';" (assignment_expression "local_1020[0] = '\0'" (subscript_expression "local_1020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "GetPathComponent(iVar6,1,local_1020);" (call_expression "GetPathComponent(iVar6,1,local_1020)" identifier (argument_list "(iVar6,1,local_1020)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" if (parenthesized_expression "(local_1020[0] == '\0')" ( (binary_expression "local_1020[0] == '\0'" (subscript_expression "local_1020[0]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }" { (expression_statement "CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);" (call_expression "CopyMagickString(local_1020,param_1 + 0x1f0,0x1000)" identifier (argument_list "(local_1020,param_1 + 0x1f0,0x1000)" ( identifier , (binary_expression "param_1 + 0x1f0" identifier + number_literal) , number_literal ))) ;) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2)" identifier = (cast_expression "(undefined4 *)GetMagickInfo(local_1020,uVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetMagickInfo(local_1020,uVar2)" identifier (argument_list "(local_1020,uVar2)" ( identifier , identifier ))))) ;) (if_statement "if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      GetPathComponent(iVar6,8,local_2020);\n    }" { (expression_statement "GetPathComponent(iVar6,8,local_2020);" (call_expression "GetPathComponent(iVar6,8,local_2020)" identifier (argument_list "(iVar6,8,local_2020)" ( identifier , number_literal , identifier ))) ;) }) (else_clause "else {\n      GetPathComponent(iVar6,9,local_2020);\n    }" else (compound_statement "{\n      GetPathComponent(iVar6,9,local_2020);\n    }" { (expression_statement "GetPathComponent(iVar6,9,local_2020);" (call_expression "GetPathComponent(iVar6,9,local_2020)" identifier (argument_list "(iVar6,9,local_2020)" ( identifier , number_literal , identifier ))) ;) }))) (labeled_statement "LAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);" statement_identifier : (expression_statement "CopyMagickString(iVar6,local_2020,0x1000);" (call_expression "CopyMagickString(iVar6,local_2020,0x1000)" identifier (argument_list "(iVar6,local_2020,0x1000)" ( identifier , identifier , number_literal ))) ;)) (labeled_statement "LAB_000e7842:\n    DestroyExceptionInfo(uVar2);" statement_identifier : (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;)) (if_statement "if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;" if (parenthesized_expression "((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))" ( (binary_expression "(puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0)" (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0)" ( (comma_expression "iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0" (assignment_expression "iVar3 = GetMagickEndianSupport(puVar4)" identifier = (call_expression "GetMagickEndianSupport(puVar4)" identifier (argument_list "(puVar4)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7865;" goto statement_identifier ;)) }) (else_clause "else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" else (compound_statement "{\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" { (expression_statement "LocaleUpper(local_1020);" (call_expression "LocaleUpper(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2)" identifier = (cast_expression "(undefined4 *)GetMagickInfo(local_1020,uVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetMagickInfo(local_1020,uVar2)" identifier (argument_list "(local_1020,uVar2)" ( identifier , identifier ))))) ;) (expression_statement "iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);" (assignment_expression "iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2)" identifier = (call_expression "GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2)" identifier (argument_list "(local_1020,&DAT_002b96d5,uVar2)" ( identifier , (pointer_expression "&DAT_002b96d5" & identifier) , identifier )))) ;) (if_statement "if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" if (parenthesized_expression "(((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0))" ( (binary_expression "((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)" (parenthesized_expression "((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0))" ( (binary_expression "(iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)" (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)" ( (comma_expression "iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0" (assignment_expression "iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2)" identifier = (call_expression "GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2)" identifier (argument_list "(&DAT_002b96d5,local_1020,uVar2)" ( (pointer_expression "&DAT_002b96d5" & identifier) , identifier , identifier )))) , (binary_expression "puVar4 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) || (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" { (expression_statement "iVar3 = FUN_000f75b0(local_1020);" (assignment_expression "iVar3 = FUN_000f75b0(local_1020)" identifier = (call_expression "FUN_000f75b0(local_1020)" identifier (argument_list "(local_1020)" ( identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }" { (expression_statement "*(undefined4 *)(param_1 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" * (cast_expression "(undefined4 *)(param_1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000)" identifier (argument_list "(param_1 + 0x1f0,local_1020,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "GetPathComponent(iVar6,8,local_2020);" (call_expression "GetPathComponent(iVar6,8,local_2020)" identifier (argument_list "(iVar6,8,local_2020)" ( identifier , number_literal , identifier ))) ;) (goto_statement "goto LAB_000e77cf;" goto statement_identifier ;) })) (goto_statement "goto LAB_000e7842;" goto statement_identifier ;) })) (expression_statement "puVar4 = (undefined4 *)0x0;" (assignment_expression "puVar4 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (labeled_statement "LAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x38) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" if (parenthesized_expression "((param_2 < 2) || (iVar3 == 0))" ( (binary_expression "(param_2 < 2) || (iVar3 == 0)" (parenthesized_expression "(param_2 < 2)" ( (binary_expression "param_2 < 2" identifier < number_literal) )) || (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }" { (labeled_statement "LAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" statement_identifier : (if_statement "if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }" { (if_statement "if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }" if (parenthesized_expression "(param_2 == 0 && *(int *)(param_1 + 0x10) == 0)" ( (binary_expression "param_2 == 0 && *(int *)(param_1 + 0x10) == 0" (binary_expression "param_2 == 0" identifier == number_literal) && (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }" { (labeled_statement "LAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);" statement_identifier : (expression_statement "__n = GetMagicPatternExtent(param_3);" (assignment_expression "__n = GetMagicPatternExtent(param_3)" identifier = (call_expression "GetMagicPatternExtent(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;)) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (if_statement "if (__n == 0) goto LAB_000e7ac5;" if (parenthesized_expression "(__n == 0)" ( (binary_expression "__n == 0" identifier == number_literal) )) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;)) (expression_statement "iVar3 = AcquireImage(param_1,param_3);" (assignment_expression "iVar3 = AcquireImage(param_1,param_3)" identifier = (call_expression "AcquireImage(param_1,param_3)" identifier (argument_list "(param_1,param_3)" ( identifier , identifier )))) ;) (expression_statement "CopyMagickString(iVar3 + 0x318,iVar6,0x1000);" (call_expression "CopyMagickString(iVar3 + 0x318,iVar6,0x1000)" identifier (argument_list "(iVar3 + 0x318,iVar6,0x1000)" ( (binary_expression "iVar3 + 0x318" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar5 = OpenBlob(param_1,iVar3,2,param_3);" (assignment_expression "iVar5 = OpenBlob(param_1,iVar3,2,param_3)" identifier = (call_expression "OpenBlob(param_1,iVar3,2,param_3)" identifier (argument_list "(param_1,iVar3,2,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" { (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "iVar5 = IsBlobSeekable(iVar3);" (assignment_expression "iVar5 = IsBlobSeekable(iVar3)" identifier = (call_expression "IsBlobSeekable(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (if_statement "if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }" if (parenthesized_expression "((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0))" ( (binary_expression "(iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = IsBlobExempt(iVar3), iVar5 != 0)" ( (comma_expression "iVar5 = IsBlobExempt(iVar3), iVar5 != 0" (assignment_expression "iVar5 = IsBlobExempt(iVar3)" identifier = (call_expression "IsBlobExempt(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) , (binary_expression "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }" { (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar5 = ImageToFile(iVar3,local_2020,param_3);" (assignment_expression "iVar5 = ImageToFile(iVar3,local_2020,param_3)" identifier = (call_expression "ImageToFile(iVar3,local_2020,param_3)" identifier (argument_list "(iVar3,local_2020,param_3)" ( identifier , identifier , identifier )))) ;) (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (if_statement "if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" { (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "SetImageInfoFile(param_1,0);" (call_expression "SetImageInfoFile(param_1,0)" identifier (argument_list "(param_1,0)" ( identifier , number_literal ))) ;) (expression_statement "CopyMagickString(iVar3 + 0x318,local_2020,0x1000);" (call_expression "CopyMagickString(iVar3 + 0x318,local_2020,0x1000)" identifier (argument_list "(iVar3 + 0x318,local_2020,0x1000)" ( (binary_expression "iVar3 + 0x318" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar5 = OpenBlob(param_1,iVar3,2,param_3);" (assignment_expression "iVar5 = OpenBlob(param_1,iVar3,2,param_3)" identifier = (call_expression "OpenBlob(param_1,iVar3,2,param_3)" identifier (argument_list "(param_1,iVar3,2,param_3)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" { (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "CopyMagickString(iVar6,local_2020,0x1000);" (call_expression "CopyMagickString(iVar6,local_2020,0x1000)" identifier (argument_list "(iVar6,local_2020,0x1000)" ( identifier , identifier , number_literal ))) ;) (expression_statement "*(undefined4 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 8) = 1" (pointer_expression "*(undefined4 *)(param_1 + 8)" * (cast_expression "(undefined4 *)(param_1 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "__s = (void *)AcquireQuantumMemory(1,__n);" (assignment_expression "__s = (void *)AcquireQuantumMemory(1,__n)" identifier = (cast_expression "(void *)AcquireQuantumMemory(1,__n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(1,__n)" identifier (argument_list "(1,__n)" ( number_literal , identifier ))))) ;) (if_statement "if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" if (parenthesized_expression "(__s == (void *)0x0)" ( (binary_expression "__s == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" { (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) (expression_statement "memset(__s,0,__n);" (call_expression "memset(__s,0,__n)" identifier (argument_list "(__s,0,__n)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar6 = ReadBlob(iVar3,__n,__s);" (assignment_expression "iVar6 = ReadBlob(iVar3,__n,__s)" identifier = (call_expression "ReadBlob(iVar3,__n,__s)" identifier (argument_list "(iVar3,__n,__s)" ( identifier , identifier , identifier )))) ;) (expression_statement "SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);" (call_expression "SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1)" identifier (argument_list "(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1)" ( identifier , (unary_expression "-iVar6" - identifier) , (unary_expression "-((iVar6 >> 0x1f) + (uint)(iVar6 != 0))" - (parenthesized_expression "((iVar6 >> 0x1f) + (uint)(iVar6 != 0))" ( (binary_expression "(iVar6 >> 0x1f) + (uint)(iVar6 != 0)" (parenthesized_expression "(iVar6 >> 0x1f)" ( (binary_expression "iVar6 >> 0x1f" identifier >> number_literal) )) + (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )))) ))) , number_literal ))) ;) (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = GetMagicInfo(__s,iVar6,uVar2);" (assignment_expression "iVar6 = GetMagicInfo(__s,iVar6,uVar2)" identifier = (call_expression "GetMagicInfo(__s,iVar6,uVar2)" identifier (argument_list "(__s,iVar6,uVar2)" ( identifier , identifier , identifier )))) ;) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (if_statement "if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" if (parenthesized_expression "((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0))" ( (binary_expression "(iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar3 = GetMagicName(iVar6), iVar3 == 0)" ( (comma_expression "iVar3 = GetMagicName(iVar6), iVar3 == 0" (assignment_expression "iVar3 = GetMagicName(iVar6)" identifier = (call_expression "GetMagicName(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }" { (expression_statement "iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);" (assignment_expression "iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier = (call_expression "GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier (argument_list "(param_1 + 0x1f0,uVar2)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier )))) ;) (if_statement "if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }" { (expression_statement "iVar6 = GetMagickEndianSupport(iVar6);" (assignment_expression "iVar6 = GetMagickEndianSupport(iVar6)" identifier = (call_expression "GetMagickEndianSupport(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (goto_statement "goto joined_r0x000e7f90;" goto statement_identifier ;) })) (labeled_statement "LAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x38) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x38)" * (cast_expression "(undefined4 *)(param_1 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) = number_literal) ;)) }) (else_clause "else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" else (compound_statement "{\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" { (if_statement "if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" if (parenthesized_expression "((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))" ( (binary_expression "(puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0)" (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0)" ( (comma_expression "iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0" (assignment_expression "iVar3 = GetMagickUseExtension(puVar4)" identifier = (call_expression "GetMagickUseExtension(puVar4)" identifier (argument_list "(puVar4)" ( identifier )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }" { (labeled_statement "LAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);" statement_identifier : (expression_statement "uVar7 = GetMagicName(iVar6);" (assignment_expression "uVar7 = GetMagicName(iVar6)" identifier = (call_expression "GetMagicName(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;)) (expression_statement "CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,uVar7,0x1000)" identifier (argument_list "(param_1 + 0x1f0,uVar7,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier = (cast_expression "(undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetMagickInfo(param_1 + 0x1f0,uVar2)" identifier (argument_list "(param_1 + 0x1f0,uVar2)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , identifier ))))) ;) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;" if (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" ( (binary_expression "puVar4 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000e7a51;" goto statement_identifier ;)) }) (else_clause "else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" else (compound_statement "{\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" { (expression_statement "uVar7 = GetMagicName(iVar6);" (assignment_expression "uVar7 = GetMagicName(iVar6)" identifier = (call_expression "GetMagicName(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "iVar3 = LocaleCompare(puVar4[5],uVar7);" (assignment_expression "iVar3 = LocaleCompare(puVar4[5],uVar7)" identifier = (call_expression "LocaleCompare(puVar4[5],uVar7)" identifier (argument_list "(puVar4[5],uVar7)" ( (subscript_expression "puVar4[5]" identifier [ number_literal ]) , identifier )))) ;) (if_statement "if (iVar3 != 0) goto LAB_000e7a0e;" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000e7a0e;" goto statement_identifier ;)) (expression_statement "CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000)" identifier (argument_list "(param_1 + 0x1f0,*puVar4,0x1000)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) , (pointer_expression "*puVar4" * identifier) , number_literal ))) ;) }))) (expression_statement "iVar6 = GetMagickEndianSupport(puVar4);" (assignment_expression "iVar6 = GetMagickEndianSupport(puVar4)" identifier = (call_expression "GetMagickEndianSupport(puVar4)" identifier (argument_list "(puVar4)" ( identifier )))) ;) (labeled_statement "joined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;" statement_identifier : (if_statement "if (iVar6 == 0) goto LAB_000e7a51;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000e7a51;" goto statement_identifier ;))) }))) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_000e7ac5;" goto statement_identifier ;) })) }) (else_clause "else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" else (if_statement "if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }" { (if_statement "if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;" if (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0)" ( (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000e78a3;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" else (compound_statement "{\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" { (expression_statement "iVar6 = GetMagickInfo(local_1020,param_3);" (assignment_expression "iVar6 = GetMagickInfo(local_1020,param_3)" identifier = (call_expression "GetMagickInfo(local_1020,param_3)" identifier (argument_list "(local_1020,param_3)" ( identifier , identifier )))) ;) (if_statement "if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;" if (parenthesized_expression "((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0))" ( (binary_expression "(iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)" ( (comma_expression "iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0" (assignment_expression "iVar6 = GetMagickAdjoin(iVar6)" identifier = (call_expression "GetMagickAdjoin(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e7ab4;" goto statement_identifier ;)) })))))) }) (else_clause "else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" else (compound_statement "{\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" { (expression_statement "InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);" (call_expression "InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3)" identifier (argument_list "(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3)" ( identifier , number_literal , identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x28)" * (cast_expression "(undefined4 *)(param_1 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "iVar3 = LocaleCompare(local_2020,iVar6);" (assignment_expression "iVar3 = LocaleCompare(local_2020,iVar6)" identifier = (call_expression "LocaleCompare(local_2020,iVar6)" identifier (argument_list "(local_2020,iVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }" if (parenthesized_expression "((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0))" ( (binary_expression "(iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)" ( (comma_expression "pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = strchr(local_2020,0x25)" identifier = (call_expression "strchr(local_2020,0x25)" identifier (argument_list "(local_2020,0x25)" ( identifier , number_literal )))) , (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }" { (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" identifier = (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000e7881;" goto statement_identifier ;) })) (labeled_statement "LAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(param_1 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" * (cast_expression "(undefined4 *)(param_1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) = number_literal) ;)) }))) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" { (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) & LIT) )) != LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT)) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT)) , LIT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT)) ;) }))) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (pointer_expression * IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;)) }) (else_clause else (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 (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) })) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (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 (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (unary_expression - IDENT) , (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ))) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (pointer_expression * IDENT) , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) })))))) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 SetImageInfo(int param_1,uint param_2,undefined4 param_3)\n\n{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar2;\n}" (type_identifier "undefined4") (function_declarator "SetImageInfo(int param_1,uint param_2,undefined4 param_3)" (identifier "SetImageInfo") (parameter_list "(int param_1,uint param_2,undefined4 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  byte bVar1;\n  undefined4 uVar2;\n  int iVar3;\n  undefined4 *puVar4;\n  size_t __n;\n  int iVar5;\n  void *__s;\n  int iVar6;\n  undefined4 uVar7;\n  ulong uVar8;\n  ushort **ppuVar9;\n  uint uVar10;\n  uint uVar11;\n  char *pcVar12;\n  uint uVar13;\n  byte bVar14;\n  ulong uVar15;\n  byte *__nptr;\n  int in_GS_OFFSET;\n  byte *local_2024;\n  char local_2020 [4096];\n  char local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0xe7689;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }\n  iVar6 = param_1 + 0x21f0;\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }\n  local_2020[0] = '\0';\n  GetPathComponent(iVar6,7,local_2020);\n  if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }\n  local_2020[0] = '\0';\n  if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }\n  *(undefined4 *)(param_1 + 0x10) = 0;\n  uVar2 = AcquireExceptionInfo();\n  if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }\n  local_1020[0] = '\0';\n  GetPathComponent(iVar6,1,local_1020);\n  if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }\n  iVar3 = *(int *)(param_1 + 0xc);\n  if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }\n  uVar2 = 1;\nLAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar2;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 *puVar4;" (type_identifier "undefined4") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "ulong uVar8;" (type_identifier "ulong") (identifier "uVar8") (; ";")) (declaration "ushort **ppuVar9;" (type_identifier "ushort") (pointer_declarator "**ppuVar9" (* "*") (pointer_declarator "*ppuVar9" (* "*") (identifier "ppuVar9"))) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "ulong uVar15;" (type_identifier "ulong") (identifier "uVar15") (; ";")) (declaration "byte *__nptr;" (type_identifier "byte") (pointer_declarator "*__nptr" (* "*") (identifier "__nptr")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte *local_2024;" (type_identifier "byte") (pointer_declarator "*local_2024" (* "*") (identifier "local_2024")) (; ";")) (declaration "char local_2020 [4096];" (primitive_type "char") (array_declarator "local_2020 [4096]" (identifier "local_2020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "char local_1020 [4096];" (primitive_type "char") (array_declarator "local_1020 [4096]" (identifier "local_1020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0xe7689;" (assignment_expression "uStack_14 = 0xe7689" (identifier "uStack_14") (= "=") (number_literal "0xe7689")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");" (call_expression "__assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" (identifier "__assert_fail") (argument_list "("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo")" (( "(") (string_literal ""image_info != (ImageInfo *) NULL"" (" """) (string_content "image_info != (ImageInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (number_literal "0xaa8") (, ",") (string_literal ""SetImageInfo"" (" """) (string_content "SetImageInfo") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" (* "*") (cast_expression "(int *)(param_1 + 0x31f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31f4)" (( "(") (binary_expression "param_1 + 0x31f4" (identifier "param_1") (+ "+") (number_literal "0x31f4")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,\n                  "SetImageInfo")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (number_literal "0xaa9") (, ",") (string_literal ""SetImageInfo"" (" """) (string_content "SetImageInfo") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = param_1 + 0x21f0;" (assignment_expression "iVar6 = param_1 + 0x21f0" (identifier "iVar6") (= "=") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" (* "*") (cast_expression "(int *)(param_1 + 0x31f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31f0)" (( "(") (binary_expression "param_1 + 0x31f0" (identifier "param_1") (+ "+") (number_literal "0x31f0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6)" (identifier "LogMagickEvent") (argument_list "(0x8000,"MagickCore/image.c","SetImageInfo",0xaab,&DAT_002b6e4e,iVar6)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (string_literal ""SetImageInfo"" (" """) (string_content "SetImageInfo") (" """)) (, ",") (number_literal "0xaab") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" (identifier "local_2020") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "GetPathComponent(iVar6,7,local_2020);" (call_expression "GetPathComponent(iVar6,7,local_2020)" (identifier "GetPathComponent") (argument_list "(iVar6,7,local_2020)" (( "(") (identifier "iVar6") (, ",") (number_literal "7") (, ",") (identifier "local_2020") () ")"))) (; ";")) (if_statement "if (local_2020[0] != '\0') {\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }" (if "if") (parenthesized_expression "(local_2020[0] != '\0')" (( "(") (binary_expression "local_2020[0] != '\0'" (subscript_expression "local_2020[0]" (identifier "local_2020") ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar3 = IsSceneGeometry(local_2020,0);\n    if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }\n  }" ({ "{") (expression_statement "iVar3 = IsSceneGeometry(local_2020,0);" (assignment_expression "iVar3 = IsSceneGeometry(local_2020,0)" (identifier "iVar3") (= "=") (call_expression "IsSceneGeometry(local_2020,0)" (identifier "IsSceneGeometry") (argument_list "(local_2020,0)" (( "(") (identifier "local_2020") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }\n    else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = IsGeometry(local_2020);\n      if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }\n    }" ({ "{") (expression_statement "iVar3 = IsGeometry(local_2020);" (assignment_expression "iVar3 = IsGeometry(local_2020)" (identifier "iVar3") (= "=") (call_expression "IsGeometry(local_2020)" (identifier "IsGeometry") (argument_list "(local_2020)" (( "(") (identifier "local_2020") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        CloneString(param_1 + 0x1c,local_2020);\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        CloneString(param_1 + 0x1c,local_2020);\n      }" ({ "{") (expression_statement "CloneString(param_1 + 0x1c,local_2020);" (call_expression "CloneString(param_1 + 0x1c,local_2020)" (identifier "CloneString") (argument_list "(param_1 + 0x1c,local_2020)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) (, ",") (identifier "local_2020") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" (else "else") (compound_statement "{\n      CloneString(param_1 + 0x24,local_2020);\n      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);\n      __nptr = *(byte **)(param_1 + 0x24);\n      *(ulong *)(param_1 + 0x28) = uVar8;\n      *(ulong *)(param_1 + 0x2c) = uVar8;\n      bVar14 = *__nptr;\n      uVar15 = uVar8;\n      local_2024 = __nptr;\n      if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }\n      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;\n    }" ({ "{") (expression_statement "CloneString(param_1 + 0x24,local_2020);" (call_expression "CloneString(param_1 + 0x24,local_2020)" (identifier "CloneString") (argument_list "(param_1 + 0x24,local_2020)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);" (assignment_expression "uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10)" (identifier "uVar8") (= "=") (call_expression "strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10)" (identifier "strtoul") (argument_list "(*(char **)(param_1 + 0x24),(char **)0x0,10)" (( "(") (pointer_expression "*(char **)(param_1 + 0x24)" (* "*") (cast_expression "(char **)(param_1 + 0x24)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "__nptr = *(byte **)(param_1 + 0x24);" (assignment_expression "__nptr = *(byte **)(param_1 + 0x24)" (identifier "__nptr") (= "=") (pointer_expression "*(byte **)(param_1 + 0x24)" (* "*") (cast_expression "(byte **)(param_1 + 0x24)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(ulong *)(param_1 + 0x28) = uVar8;" (assignment_expression "*(ulong *)(param_1 + 0x28) = uVar8" (pointer_expression "*(ulong *)(param_1 + 0x28)" (* "*") (cast_expression "(ulong *)(param_1 + 0x28)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(ulong *)(param_1 + 0x2c) = uVar8;" (assignment_expression "*(ulong *)(param_1 + 0x2c) = uVar8" (pointer_expression "*(ulong *)(param_1 + 0x2c)" (* "*") (cast_expression "(ulong *)(param_1 + 0x2c)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "bVar14 = *__nptr;" (assignment_expression "bVar14 = *__nptr" (identifier "bVar14") (= "=") (pointer_expression "*__nptr" (* "*") (identifier "__nptr"))) (; ";")) (expression_statement "uVar15 = uVar8;" (assignment_expression "uVar15 = uVar8" (identifier "uVar15") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "local_2024 = __nptr;" (assignment_expression "local_2024 = __nptr" (identifier "local_2024") (= "=") (identifier "__nptr")) (; ";")) (if_statement "if (bVar14 != 0) {\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }" (if "if") (parenthesized_expression "(bVar14 != 0)" (( "(") (binary_expression "bVar14 != 0" (identifier "bVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        ppuVar9 = __ctype_b_loc();\n        while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }\n        uVar8 = *(ulong *)(param_1 + 0x2c);\n        uVar15 = *(ulong *)(param_1 + 0x28);\n      }" ({ "{") (expression_statement "ppuVar9 = __ctype_b_loc();" (assignment_expression "ppuVar9 = __ctype_b_loc()" (identifier "ppuVar9") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (while_statement "while( true ) {\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }\n          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);\n          bVar14 = *local_2024;\n          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }\n          uVar11 = uVar10;\n          if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }\n          if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }\n          if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }\n          __nptr = local_2024 + 1;\n          if (*local_2024 == 0) break;\n          bVar14 = local_2024[1];\n        }" ({ "{") (while_statement "while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                ) {\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }" (while "while") (parenthesized_expression "(((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))\n                )" (( "(") (parenthesized_expression "((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))" (( "(") (binary_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c)" (binary_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (( "(") (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9"))) (+ "+") (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(bVar14 == 0x2c)" (( "(") (binary_expression "bVar14 == 0x2c" (identifier "bVar14") (== "==") (number_literal "0x2c")) () ")"))) () ")")) () ")")) (compound_statement "{\n            __nptr = __nptr + 1;\n            bVar14 = *__nptr;\n          }" ({ "{") (expression_statement "__nptr = __nptr + 1;" (assignment_expression "__nptr = __nptr + 1" (identifier "__nptr") (= "=") (binary_expression "__nptr + 1" (identifier "__nptr") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar14 = *__nptr;" (assignment_expression "bVar14 = *__nptr" (identifier "bVar14") (= "=") (pointer_expression "*__nptr" (* "*") (identifier "__nptr"))) (; ";")) (} "}"))) (expression_statement "uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);" (assignment_expression "uVar10 = strtol((char *)__nptr,(char **)&local_2024,10)" (identifier "uVar10") (= "=") (call_expression "strtol((char *)__nptr,(char **)&local_2024,10)" (identifier "strtol") (argument_list "((char *)__nptr,(char **)&local_2024,10)" (( "(") (cast_expression "(char *)__nptr" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "__nptr")) (, ",") (cast_expression "(char **)&local_2024" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_2024" (& "&") (identifier "local_2024"))) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "bVar14 = *local_2024;" (assignment_expression "bVar14 = *local_2024" (identifier "bVar14") (= "=") (pointer_expression "*local_2024" (* "*") (identifier "local_2024"))) (; ";")) (expression_statement "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);" (assignment_expression "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (( "(") (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9"))) (+ "+") (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (while_statement "while ((bVar1 & 0x20) != 0) {\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }" (while "while") (parenthesized_expression "((bVar1 & 0x20) != 0)" (( "(") (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" (( "(") (binary_expression "bVar1 & 0x20" (identifier "bVar1") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_2024 = local_2024 + 1;\n            bVar14 = *local_2024;\n            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);\n          }" ({ "{") (expression_statement "local_2024 = local_2024 + 1;" (assignment_expression "local_2024 = local_2024 + 1" (identifier "local_2024") (= "=") (binary_expression "local_2024 + 1" (identifier "local_2024") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar14 = *local_2024;" (assignment_expression "bVar14 = *local_2024" (identifier "bVar14") (= "=") (pointer_expression "*local_2024" (* "*") (identifier "local_2024"))) (; ";")) (expression_statement "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);" (assignment_expression "bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*ppuVar9 + (uint)bVar14 * 2 + 1)" (( "(") (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2 + 1" (binary_expression "(int)*ppuVar9 + (uint)bVar14 * 2" (cast_expression "(int)*ppuVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppuVar9" (* "*") (identifier "ppuVar9"))) (+ "+") (binary_expression "(uint)bVar14 * 2" (cast_expression "(uint)bVar14" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar14")) (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" (identifier "uVar11") (= "=") (identifier "uVar10")) (; ";")) (if_statement "if ((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)) {\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }" (if "if") (parenthesized_expression "((bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13))" (( "(") (binary_expression "(bVar14 == 0x2d) &&\n             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)" (parenthesized_expression "(bVar14 == 0x2d)" (( "(") (binary_expression "bVar14 == 0x2d" (identifier "bVar14") (== "==") (number_literal "0x2d")) () ")")) (&& "&&") (parenthesized_expression "(uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13)" (( "(") (comma_expression "uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,\n             uVar10 <= uVar13" (assignment_expression "uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10)" (identifier "uVar13") (= "=") (call_expression "strtol((char *)(local_2024 + 1),(char **)&local_2024,10)" (identifier "strtol") (argument_list "((char *)(local_2024 + 1),(char **)&local_2024,10)" (( "(") (cast_expression "(char *)(local_2024 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2024 + 1)" (( "(") (binary_expression "local_2024 + 1" (identifier "local_2024") (+ "+") (number_literal "1")) () ")"))) (, ",") (cast_expression "(char **)&local_2024" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_2024" (& "&") (identifier "local_2024"))) (, ",") (number_literal "10") () ")")))) (, ",") (comma_expression "uVar11 = uVar13,\n             uVar10 <= uVar13" (assignment_expression "uVar11 = uVar13" (identifier "uVar11") (= "=") (identifier "uVar13")) (, ",") (binary_expression "uVar10 <= uVar13" (identifier "uVar10") (<= "<=") (identifier "uVar13")))) () ")"))) () ")")) (compound_statement "{\n            uVar11 = uVar10;\n            uVar10 = uVar13;\n          }" ({ "{") (expression_statement "uVar11 = uVar10;" (assignment_expression "uVar11 = uVar10" (identifier "uVar11") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "uVar10 = uVar13;" (assignment_expression "uVar10 = uVar13" (identifier "uVar10") (= "=") (identifier "uVar13")) (; ";")) (} "}"))) (if_statement "if (uVar11 < *(uint *)(param_1 + 0x28)) {\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }" (if "if") (parenthesized_expression "(uVar11 < *(uint *)(param_1 + 0x28))" (( "(") (binary_expression "uVar11 < *(uint *)(param_1 + 0x28)" (identifier "uVar11") (< "<") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n            *(uint *)(param_1 + 0x28) = uVar11;\n          }" ({ "{") (expression_statement "*(uint *)(param_1 + 0x28) = uVar11;" (assignment_expression "*(uint *)(param_1 + 0x28) = uVar11" (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (} "}"))) (if_statement "if (*(uint *)(param_1 + 0x2c) < uVar10) {\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x2c) < uVar10)" (( "(") (binary_expression "*(uint *)(param_1 + 0x2c) < uVar10" (pointer_expression "*(uint *)(param_1 + 0x2c)" (* "*") (cast_expression "(uint *)(param_1 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (< "<") (identifier "uVar10")) () ")")) (compound_statement "{\n            *(uint *)(param_1 + 0x2c) = uVar10;\n          }" ({ "{") (expression_statement "*(uint *)(param_1 + 0x2c) = uVar10;" (assignment_expression "*(uint *)(param_1 + 0x2c) = uVar10" (pointer_expression "*(uint *)(param_1 + 0x2c)" (* "*") (cast_expression "(uint *)(param_1 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar10")) (; ";")) (} "}"))) (expression_statement "__nptr = local_2024 + 1;" (assignment_expression "__nptr = local_2024 + 1" (identifier "__nptr") (= "=") (binary_expression "local_2024 + 1" (identifier "local_2024") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*local_2024 == 0) break;" (if "if") (parenthesized_expression "(*local_2024 == 0)" (( "(") (binary_expression "*local_2024 == 0" (pointer_expression "*local_2024" (* "*") (identifier "local_2024")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar14 = local_2024[1];" (assignment_expression "bVar14 = local_2024[1]" (identifier "bVar14") (= "=") (subscript_expression "local_2024[1]" (identifier "local_2024") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (expression_statement "uVar8 = *(ulong *)(param_1 + 0x2c);" (assignment_expression "uVar8 = *(ulong *)(param_1 + 0x2c)" (identifier "uVar8") (= "=") (pointer_expression "*(ulong *)(param_1 + 0x2c)" (* "*") (cast_expression "(ulong *)(param_1 + 0x2c)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "uVar15 = *(ulong *)(param_1 + 0x28);" (assignment_expression "uVar15 = *(ulong *)(param_1 + 0x28)" (identifier "uVar15") (= "=") (pointer_expression "*(ulong *)(param_1 + 0x28)" (* "*") (cast_expression "(ulong *)(param_1 + 0x28)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}"))) (expression_statement "*(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;" (assignment_expression "*(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15" (pointer_expression "*(ulong *)(param_1 + 0x2c)" (* "*") (cast_expression "(ulong *)(param_1 + 0x2c)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (binary_expression "(uVar8 + 1) - uVar15" (parenthesized_expression "(uVar8 + 1)" (( "(") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1")) () ")")) (- "-") (identifier "uVar15"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" (identifier "local_2020") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (*(char *)(param_1 + 0x1f0) == '\0') {\n    GetPathComponent(iVar6,6,local_2020);\n  }" (if "if") (parenthesized_expression "(*(char *)(param_1 + 0x1f0) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 0x1f0) == '\0'" (pointer_expression "*(char *)(param_1 + 0x1f0)" (* "*") (cast_expression "(char *)(param_1 + 0x1f0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    GetPathComponent(iVar6,6,local_2020);\n  }" ({ "{") (expression_statement "GetPathComponent(iVar6,6,local_2020);" (call_expression "GetPathComponent(iVar6,6,local_2020)" (identifier "GetPathComponent") (argument_list "(iVar6,6,local_2020)" (( "(") (identifier "iVar6") (, ",") (number_literal "6") (, ",") (identifier "local_2020") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" (identifier "uVar2") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (local_2020[0] != '\0') {\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(local_2020[0] != '\0')" (( "(") (binary_expression "local_2020[0] != '\0'" (subscript_expression "local_2020[0]" (identifier "local_2020") ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    iVar3 = FUN_001a30a0(local_2020);\n    if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar3 = FUN_001a30a0(local_2020);" (assignment_expression "iVar3 = FUN_001a30a0(local_2020)" (identifier "iVar3") (= "=") (call_expression "FUN_001a30a0(local_2020)" (identifier "FUN_001a30a0") (argument_list "(local_2020)" (( "(") (identifier "local_2020") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      CopyMagickString(local_1020,local_2020,0x1000);\n      LocaleUpper(local_1020);\n      iVar3 = GetMagickInfo(local_1020,uVar2);\n      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }\n      iVar3 = LocaleCompare(local_1020,"RGB");\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }\n    }" ({ "{") (expression_statement "CopyMagickString(local_1020,local_2020,0x1000);" (call_expression "CopyMagickString(local_1020,local_2020,0x1000)" (identifier "CopyMagickString") (argument_list "(local_1020,local_2020,0x1000)" (( "(") (identifier "local_1020") (, ",") (identifier "local_2020") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "LocaleUpper(local_1020);" (call_expression "LocaleUpper(local_1020)" (identifier "LocaleUpper") (argument_list "(local_1020)" (( "(") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "iVar3 = GetMagickInfo(local_1020,uVar2);" (assignment_expression "iVar3 = GetMagickInfo(local_1020,uVar2)" (identifier "iVar3") (= "=") (call_expression "GetMagickInfo(local_1020,uVar2)" (identifier "GetMagickInfo") (argument_list "(local_1020,uVar2)" (( "(") (identifier "local_1020") (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }\n      else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" (if "if") (parenthesized_expression "((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0))" (( "(") (binary_expression "(iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(iVar3 + 0x28) == 0" (pointer_expression "*(int *)(iVar3 + 0x28)" (* "*") (cast_expression "(int *)(iVar3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        iVar3 = 1;\n        pcVar12 = "AUTOTRACE";\n        do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);\nLAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n      }" ({ "{") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";")) (expression_statement "pcVar12 = "AUTOTRACE";" (assignment_expression "pcVar12 = "AUTOTRACE"" (identifier "pcVar12") (= "=") (string_literal ""AUTOTRACE"" (" """) (string_content "AUTOTRACE") (" """))) (; ";")) (do_statement "do {\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        } while (pcVar12 != (char *)0x0);" (do "do") (compound_statement "{\n          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;\n          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];\n          iVar3 = iVar3 + 1;\n        }" ({ "{") (if_statement "if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             ) goto LAB_000e7e3c;" (if "if") (parenthesized_expression "((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)\n             )" (( "(") (binary_expression "(local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)" (parenthesized_expression "(local_1020[0] == *pcVar12)" (( "(") (binary_expression "local_1020[0] == *pcVar12" (subscript_expression "local_1020[0]" (identifier "local_1020") ([ "[") (number_literal "0") (] "]")) (== "==") (pointer_expression "*pcVar12" (* "*") (identifier "pcVar12"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)" (( "(") (comma_expression "iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0" (assignment_expression "iVar5 = LocaleCompare(local_1020,pcVar12)" (identifier "iVar5") (= "=") (call_expression "LocaleCompare(local_1020,pcVar12)" (identifier "LocaleCompare") (argument_list "(local_1020,pcVar12)" (( "(") (identifier "local_1020") (, ",") (identifier "pcVar12") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000e7e3c;" (goto "goto") (statement_identifier "LAB_000e7e3c") (; ";"))) (expression_statement "pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];" (assignment_expression "pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3]" (identifier "pcVar12") (= "=") (subscript_expression "(&PTR_s_AUTOTRACE_003bc140)[iVar3]" (parenthesized_expression "(&PTR_s_AUTOTRACE_003bc140)" (( "(") (pointer_expression "&PTR_s_AUTOTRACE_003bc140" (& "&") (identifier "PTR_s_AUTOTRACE_003bc140")) () ")")) ([ "[") (identifier "iVar3") (] "]"))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar12 != (char *)0x0)" (( "(") (binary_expression "pcVar12 != (char *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_000e7e43:\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (statement_identifier "LAB_000e7e43") (: ":") (expression_statement "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000)" (identifier "CopyMagickString") (argument_list "(param_1 + 0x1f0,local_1020,0x1000)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (identifier "local_1020") (, ",") (number_literal "0x1000") () ")"))) (; ";"))) (} "}")) (else_clause "else if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" (else "else") (if_statement "if (*(int *)(iVar3 + 0x28) == 2) {\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar3 + 0x28) == 2)" (( "(") (binary_expression "*(int *)(iVar3 + 0x28) == 2" (pointer_expression "*(int *)(iVar3 + 0x28)" (* "*") (cast_expression "(int *)(iVar3 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x28)" (( "(") (binary_expression "iVar3 + 0x28" (identifier "iVar3") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        goto LAB_000e7e43;\n      }" ({ "{") (labeled_statement "LAB_000e7e3c:\n        *(undefined4 *)(param_1 + 0x10) = 1;" (statement_identifier "LAB_000e7e3c") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_000e7e43;" (goto "goto") (statement_identifier "LAB_000e7e43") (; ";")) (} "}"))))) (expression_statement "iVar3 = LocaleCompare(local_1020,"RGB");" (assignment_expression "iVar3 = LocaleCompare(local_1020,"RGB")" (identifier "iVar3") (= "=") (call_expression "LocaleCompare(local_1020,"RGB")" (identifier "LocaleCompare") (argument_list "(local_1020,"RGB")" (( "(") (identifier "local_1020") (, ",") (string_literal ""RGB"" (" """) (string_content "RGB") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x10) = 0;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "local_1020[0] = '\0';" (assignment_expression "local_1020[0] = '\0'" (subscript_expression "local_1020[0]" (identifier "local_1020") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "GetPathComponent(iVar6,1,local_1020);" (call_expression "GetPathComponent(iVar6,1,local_1020)" (identifier "GetPathComponent") (argument_list "(iVar6,1,local_1020)" (( "(") (identifier "iVar6") (, ",") (number_literal "1") (, ",") (identifier "local_1020") () ")"))) (; ";")) (if_statement "if (local_1020[0] == '\0') {\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }\n  else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" (if "if") (parenthesized_expression "(local_1020[0] == '\0')" (( "(") (binary_expression "local_1020[0] == '\0'" (subscript_expression "local_1020[0]" (identifier "local_1020") ([ "[") (number_literal "0") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }\nLAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);\nLAB_000e7842:\n    DestroyExceptionInfo(uVar2);\n    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;\n  }" ({ "{") (expression_statement "CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);" (call_expression "CopyMagickString(local_1020,param_1 + 0x1f0,0x1000)" (identifier "CopyMagickString") (argument_list "(local_1020,param_1 + 0x1f0,0x1000)" (( "(") (identifier "local_1020") (, ",") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)GetMagickInfo(local_1020,uVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetMagickInfo(local_1020,uVar2)" (identifier "GetMagickInfo") (argument_list "(local_1020,uVar2)" (( "(") (identifier "local_1020") (, ",") (identifier "uVar2") () ")"))))) (; ";")) (if_statement "if (param_2 == 0) {\n      GetPathComponent(iVar6,8,local_2020);\n    }\n    else {\n      GetPathComponent(iVar6,9,local_2020);\n    }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      GetPathComponent(iVar6,8,local_2020);\n    }" ({ "{") (expression_statement "GetPathComponent(iVar6,8,local_2020);" (call_expression "GetPathComponent(iVar6,8,local_2020)" (identifier "GetPathComponent") (argument_list "(iVar6,8,local_2020)" (( "(") (identifier "iVar6") (, ",") (number_literal "8") (, ",") (identifier "local_2020") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      GetPathComponent(iVar6,9,local_2020);\n    }" (else "else") (compound_statement "{\n      GetPathComponent(iVar6,9,local_2020);\n    }" ({ "{") (expression_statement "GetPathComponent(iVar6,9,local_2020);" (call_expression "GetPathComponent(iVar6,9,local_2020)" (identifier "GetPathComponent") (argument_list "(iVar6,9,local_2020)" (( "(") (identifier "iVar6") (, ",") (number_literal "9") (, ",") (identifier "local_2020") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_000e77cf:\n    CopyMagickString(iVar6,local_2020,0x1000);" (statement_identifier "LAB_000e77cf") (: ":") (expression_statement "CopyMagickString(iVar6,local_2020,0x1000);" (call_expression "CopyMagickString(iVar6,local_2020,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar6,local_2020,0x1000)" (( "(") (identifier "iVar6") (, ",") (identifier "local_2020") (, ",") (number_literal "0x1000") () ")"))) (; ";"))) (labeled_statement "LAB_000e7842:\n    DestroyExceptionInfo(uVar2);" (statement_identifier "LAB_000e7842") (: ":") (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" (identifier "DestroyExceptionInfo") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";"))) (if_statement "if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))\n    goto LAB_000e7865;" (if "if") (parenthesized_expression "((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))" (( "(") (binary_expression "(puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0)" (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0" (assignment_expression "iVar3 = GetMagickEndianSupport(puVar4)" (identifier "iVar3") (= "=") (call_expression "GetMagickEndianSupport(puVar4)" (identifier "GetMagickEndianSupport") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000e7865;" (goto "goto") (statement_identifier "LAB_000e7865") (; ";"))) (} "}")) (else_clause "else {\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" (else "else") (compound_statement "{\n    LocaleUpper(local_1020);\n    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);\n    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);\n    if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }\n    puVar4 = (undefined4 *)0x0;\n    DestroyExceptionInfo(uVar2);\nLAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;\n  }" ({ "{") (expression_statement "LocaleUpper(local_1020);" (call_expression "LocaleUpper(local_1020)" (identifier "LocaleUpper") (argument_list "(local_1020)" (( "(") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)GetMagickInfo(local_1020,uVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetMagickInfo(local_1020,uVar2)" (identifier "GetMagickInfo") (argument_list "(local_1020,uVar2)" (( "(") (identifier "local_1020") (, ",") (identifier "uVar2") () ")"))))) (; ";")) (expression_statement "iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);" (assignment_expression "iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2)" (identifier "iVar3") (= "=") (call_expression "GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2)" (identifier "GetDelegateInfo") (argument_list "(local_1020,&DAT_002b96d5,uVar2)" (( "(") (identifier "local_1020") (, ",") (pointer_expression "&DAT_002b96d5" (& "&") (identifier "DAT_002b96d5")) (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)) {\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" (if "if") (parenthesized_expression "(((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0))" (( "(") (binary_expression "((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||\n       (iVar3 != 0)" (parenthesized_expression "((iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0))" (( "(") (binary_expression "(iVar3 != 0) ||\n        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)" (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)" (( "(") (comma_expression "iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0" (assignment_expression "iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2)" (identifier "iVar3") (= "=") (call_expression "GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2)" (identifier "GetDelegateInfo") (argument_list "(&DAT_002b96d5,local_1020,uVar2)" (( "(") (pointer_expression "&DAT_002b96d5" (& "&") (identifier "DAT_002b96d5")) (, ",") (identifier "local_1020") (, ",") (identifier "uVar2") () ")")))) (, ",") (binary_expression "puVar4 != (undefined4 *)0x0" (identifier "puVar4") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      iVar3 = FUN_000f75b0(local_1020);\n      if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }\n      goto LAB_000e7842;\n    }" ({ "{") (expression_statement "iVar3 = FUN_000f75b0(local_1020);" (assignment_expression "iVar3 = FUN_000f75b0(local_1020)" (identifier "iVar3") (= "=") (call_expression "FUN_000f75b0(local_1020)" (identifier "FUN_000f75b0") (argument_list "(local_1020)" (( "(") (identifier "local_1020") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)(param_1 + 0x10) = 1;\n        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);\n        GetPathComponent(iVar6,8,local_2020);\n        goto LAB_000e77cf;\n      }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x10) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x10) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,local_1020,0x1000)" (identifier "CopyMagickString") (argument_list "(param_1 + 0x1f0,local_1020,0x1000)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (identifier "local_1020") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "GetPathComponent(iVar6,8,local_2020);" (call_expression "GetPathComponent(iVar6,8,local_2020)" (identifier "GetPathComponent") (argument_list "(iVar6,8,local_2020)" (( "(") (identifier "iVar6") (, ",") (number_literal "8") (, ",") (identifier "local_2020") () ")"))) (; ";")) (goto_statement "goto LAB_000e77cf;" (goto "goto") (statement_identifier "LAB_000e77cf") (; ";")) (} "}"))) (goto_statement "goto LAB_000e7842;" (goto "goto") (statement_identifier "LAB_000e7842") (; ";")) (} "}"))) (expression_statement "puVar4 = (undefined4 *)0x0;" (assignment_expression "puVar4 = (undefined4 *)0x0" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" (identifier "DestroyExceptionInfo") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (labeled_statement "LAB_000e7865:\n    *(undefined4 *)(param_1 + 0x38) = 0;" (statement_identifier "LAB_000e7865") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x38) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (} "}")))) (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((param_2 < 2) || (iVar3 == 0)) {\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }\n  else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" (if "if") (parenthesized_expression "((param_2 < 2) || (iVar3 == 0))" (( "(") (binary_expression "(param_2 < 2) || (iVar3 == 0)" (parenthesized_expression "(param_2 < 2)" (( "(") (binary_expression "param_2 < 2" (identifier "param_2") (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }\n  }" ({ "{") (labeled_statement "LAB_000e7881:\n    if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" (statement_identifier "LAB_000e7881") (: ":") (if_statement "if (iVar3 == 0) {\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }\n    else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }\n    }" ({ "{") (if_statement "if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }" (if "if") (parenthesized_expression "(param_2 == 0 && *(int *)(param_1 + 0x10) == 0)" (( "(") (binary_expression "param_2 == 0 && *(int *)(param_1 + 0x10) == 0" (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\nLAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);\n        uVar2 = 0;\n        if (__n == 0) goto LAB_000e7ac5;\n        iVar3 = AcquireImage(param_1,param_3);\n        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);\n        iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n        if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        iVar5 = IsBlobSeekable(iVar3);\n        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }\n        __s = (void *)AcquireQuantumMemory(1,__n);\n        if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }\n        memset(__s,0,__n);\n        iVar6 = ReadBlob(iVar3,__n,__s);\n        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);\n        CloseBlob(iVar3);\n        DestroyImage(iVar3);\n        uVar2 = AcquireExceptionInfo();\n        iVar6 = GetMagicInfo(__s,iVar6,uVar2);\n        RelinquishMagickMemory(__s);\n        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }\n        DestroyExceptionInfo(uVar2);\n        uVar2 = 1;\n        goto LAB_000e7ac5;\n      }" ({ "{") (labeled_statement "LAB_000e78a3:\n        __n = GetMagicPatternExtent(param_3);" (statement_identifier "LAB_000e78a3") (: ":") (expression_statement "__n = GetMagicPatternExtent(param_3);" (assignment_expression "__n = GetMagicPatternExtent(param_3)" (identifier "__n") (= "=") (call_expression "GetMagicPatternExtent(param_3)" (identifier "GetMagicPatternExtent") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";"))) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (if_statement "if (__n == 0) goto LAB_000e7ac5;" (if "if") (parenthesized_expression "(__n == 0)" (( "(") (binary_expression "__n == 0" (identifier "__n") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000e7ac5;" (goto "goto") (statement_identifier "LAB_000e7ac5") (; ";"))) (expression_statement "iVar3 = AcquireImage(param_1,param_3);" (assignment_expression "iVar3 = AcquireImage(param_1,param_3)" (identifier "iVar3") (= "=") (call_expression "AcquireImage(param_1,param_3)" (identifier "AcquireImage") (argument_list "(param_1,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "CopyMagickString(iVar3 + 0x318,iVar6,0x1000);" (call_expression "CopyMagickString(iVar3 + 0x318,iVar6,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar3 + 0x318,iVar6,0x1000)" (( "(") (binary_expression "iVar3 + 0x318" (identifier "iVar3") (+ "+") (number_literal "0x318")) (, ",") (identifier "iVar6") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar5 = OpenBlob(param_1,iVar3,2,param_3);" (assignment_expression "iVar5 = OpenBlob(param_1,iVar3,2,param_3)" (identifier "iVar5") (= "=") (call_expression "OpenBlob(param_1,iVar3,2,param_3)" (identifier "OpenBlob") (argument_list "(param_1,iVar3,2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "iVar3") (, ",") (number_literal "2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" ({ "{") (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" (identifier "DestroyImage") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000e7ac5;" (goto "goto") (statement_identifier "LAB_000e7ac5") (; ";")) (} "}"))) (expression_statement "iVar5 = IsBlobSeekable(iVar3);" (assignment_expression "iVar5 = IsBlobSeekable(iVar3)" (identifier "iVar5") (= "=") (call_expression "IsBlobSeekable(iVar3)" (identifier "IsBlobSeekable") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (if_statement "if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }" (if "if") (parenthesized_expression "((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0))" (( "(") (binary_expression "(iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = IsBlobExempt(iVar3), iVar5 != 0)" (( "(") (comma_expression "iVar5 = IsBlobExempt(iVar3), iVar5 != 0" (assignment_expression "iVar5 = IsBlobExempt(iVar3)" (identifier "iVar5") (= "=") (call_expression "IsBlobExempt(iVar3)" (identifier "IsBlobExempt") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (, ",") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          local_2020[0] = '\0';\n          iVar5 = ImageToFile(iVar3,local_2020,param_3);\n          CloseBlob(iVar3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          SetImageInfoFile(param_1,0);\n          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);\n          iVar5 = OpenBlob(param_1,iVar3,2,param_3);\n          if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }\n          CopyMagickString(iVar6,local_2020,0x1000);\n          *(undefined4 *)(param_1 + 8) = 1;\n        }" ({ "{") (expression_statement "local_2020[0] = '\0';" (assignment_expression "local_2020[0] = '\0'" (subscript_expression "local_2020[0]" (identifier "local_2020") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "iVar5 = ImageToFile(iVar3,local_2020,param_3);" (assignment_expression "iVar5 = ImageToFile(iVar3,local_2020,param_3)" (identifier "iVar5") (= "=") (call_expression "ImageToFile(iVar3,local_2020,param_3)" (identifier "ImageToFile") (argument_list "(iVar3,local_2020,param_3)" (( "(") (identifier "iVar3") (, ",") (identifier "local_2020") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" (identifier "CloseBlob") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (if_statement "if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" ({ "{") (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_2020)" (( "(") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" (identifier "DestroyImage") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000e7ac5;" (goto "goto") (statement_identifier "LAB_000e7ac5") (; ";")) (} "}"))) (expression_statement "SetImageInfoFile(param_1,0);" (call_expression "SetImageInfoFile(param_1,0)" (identifier "SetImageInfoFile") (argument_list "(param_1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "CopyMagickString(iVar3 + 0x318,local_2020,0x1000);" (call_expression "CopyMagickString(iVar3 + 0x318,local_2020,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar3 + 0x318,local_2020,0x1000)" (( "(") (binary_expression "iVar3 + 0x318" (identifier "iVar3") (+ "+") (number_literal "0x318")) (, ",") (identifier "local_2020") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar5 = OpenBlob(param_1,iVar3,2,param_3);" (assignment_expression "iVar5 = OpenBlob(param_1,iVar3,2,param_3)" (identifier "iVar5") (= "=") (call_expression "OpenBlob(param_1,iVar3,2,param_3)" (identifier "OpenBlob") (argument_list "(param_1,iVar3,2,param_3)" (( "(") (identifier "param_1") (, ",") (identifier "iVar3") (, ",") (number_literal "2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            RelinquishUniqueFileResource(local_2020);\n            DestroyImage(iVar3);\n            uVar2 = 0;\n            goto LAB_000e7ac5;\n          }" ({ "{") (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_2020)" (( "(") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" (identifier "DestroyImage") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000e7ac5;" (goto "goto") (statement_identifier "LAB_000e7ac5") (; ";")) (} "}"))) (expression_statement "CopyMagickString(iVar6,local_2020,0x1000);" (call_expression "CopyMagickString(iVar6,local_2020,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar6,local_2020,0x1000)" (( "(") (identifier "iVar6") (, ",") (identifier "local_2020") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 8) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 8) = 1" (pointer_expression "*(undefined4 *)(param_1 + 8)" (* "*") (cast_expression "(undefined4 *)(param_1 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "__s = (void *)AcquireQuantumMemory(1,__n);" (assignment_expression "__s = (void *)AcquireQuantumMemory(1,__n)" (identifier "__s") (= "=") (cast_expression "(void *)AcquireQuantumMemory(1,__n)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(1,__n)" (identifier "AcquireQuantumMemory") (argument_list "(1,__n)" (( "(") (number_literal "1") (, ",") (identifier "__n") () ")"))))) (; ";")) (if_statement "if (__s == (void *)0x0) {\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" (if "if") (parenthesized_expression "(__s == (void *)0x0)" (( "(") (binary_expression "__s == (void *)0x0" (identifier "__s") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          CloseBlob(iVar3);\n          DestroyImage(iVar3);\n          uVar2 = 0;\n          goto LAB_000e7ac5;\n        }" ({ "{") (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" (identifier "CloseBlob") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" (identifier "DestroyImage") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000e7ac5;" (goto "goto") (statement_identifier "LAB_000e7ac5") (; ";")) (} "}"))) (expression_statement "memset(__s,0,__n);" (call_expression "memset(__s,0,__n)" (identifier "memset") (argument_list "(__s,0,__n)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (identifier "__n") () ")"))) (; ";")) (expression_statement "iVar6 = ReadBlob(iVar3,__n,__s);" (assignment_expression "iVar6 = ReadBlob(iVar3,__n,__s)" (identifier "iVar6") (= "=") (call_expression "ReadBlob(iVar3,__n,__s)" (identifier "ReadBlob") (argument_list "(iVar3,__n,__s)" (( "(") (identifier "iVar3") (, ",") (identifier "__n") (, ",") (identifier "__s") () ")")))) (; ";")) (expression_statement "SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);" (call_expression "SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1)" (identifier "SeekBlob") (argument_list "(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1)" (( "(") (identifier "iVar3") (, ",") (unary_expression "-iVar6" (- "-") (identifier "iVar6")) (, ",") (unary_expression "-((iVar6 >> 0x1f) + (uint)(iVar6 != 0))" (- "-") (parenthesized_expression "((iVar6 >> 0x1f) + (uint)(iVar6 != 0))" (( "(") (binary_expression "(iVar6 >> 0x1f) + (uint)(iVar6 != 0)" (parenthesized_expression "(iVar6 >> 0x1f)" (( "(") (binary_expression "iVar6 >> 0x1f" (identifier "iVar6") (>> ">>") (number_literal "0x1f")) () ")")) (+ "+") (call_expression "(uint)(iVar6 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")))) () ")"))) (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "CloseBlob(iVar3);" (call_expression "CloseBlob(iVar3)" (identifier "CloseBlob") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "DestroyImage(iVar3);" (call_expression "DestroyImage(iVar3)" (identifier "DestroyImage") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" (identifier "uVar2") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = GetMagicInfo(__s,iVar6,uVar2);" (assignment_expression "iVar6 = GetMagicInfo(__s,iVar6,uVar2)" (identifier "iVar6") (= "=") (call_expression "GetMagicInfo(__s,iVar6,uVar2)" (identifier "GetMagicInfo") (argument_list "(__s,iVar6,uVar2)" (( "(") (identifier "__s") (, ",") (identifier "iVar6") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "RelinquishMagickMemory(__s);" (call_expression "RelinquishMagickMemory(__s)" (identifier "RelinquishMagickMemory") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (if_statement "if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }\n        else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" (if "if") (parenthesized_expression "((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0))" (( "(") (binary_expression "(iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar3 = GetMagicName(iVar6), iVar3 == 0)" (( "(") (comma_expression "iVar3 = GetMagicName(iVar6), iVar3 == 0" (assignment_expression "iVar3 = GetMagicName(iVar6)" (identifier "iVar3") (= "=") (call_expression "GetMagicName(iVar6)" (identifier "GetMagicName") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);\n          if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }\nLAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;\n        }" ({ "{") (expression_statement "iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);" (assignment_expression "iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2)" (identifier "iVar6") (= "=") (call_expression "GetMagickInfo(param_1 + 0x1f0,uVar2)" (identifier "GetMagickInfo") (argument_list "(param_1 + 0x1f0,uVar2)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (identifier "uVar2") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar6 = GetMagickEndianSupport(iVar6);\n            goto joined_r0x000e7f90;\n          }" ({ "{") (expression_statement "iVar6 = GetMagickEndianSupport(iVar6);" (assignment_expression "iVar6 = GetMagickEndianSupport(iVar6)" (identifier "iVar6") (= "=") (call_expression "GetMagickEndianSupport(iVar6)" (identifier "GetMagickEndianSupport") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (goto_statement "goto joined_r0x000e7f90;" (goto "goto") (statement_identifier "joined_r0x000e7f90") (; ";")) (} "}"))) (labeled_statement "LAB_000e7a51:\n          *(undefined4 *)(param_1 + 0x38) = 0;" (statement_identifier "LAB_000e7a51") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x38) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x38)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" (else "else") (compound_statement "{\n          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }\n          iVar6 = GetMagickEndianSupport(puVar4);\njoined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;\n        }" ({ "{") (if_statement "if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))\n          {\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }\n          else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" (if "if") (parenthesized_expression "((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))" (( "(") (binary_expression "(puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0)" (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0)" (( "(") (comma_expression "iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0" (assignment_expression "iVar3 = GetMagickUseExtension(puVar4)" (identifier "iVar3") (= "=") (call_expression "GetMagickUseExtension(puVar4)" (identifier "GetMagickUseExtension") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (, ",") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);\n            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);\n            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);\n            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;\n          }" ({ "{") (labeled_statement "LAB_000e7a0e:\n            uVar7 = GetMagicName(iVar6);" (statement_identifier "LAB_000e7a0e") (: ":") (expression_statement "uVar7 = GetMagicName(iVar6);" (assignment_expression "uVar7 = GetMagicName(iVar6)" (identifier "uVar7") (= "=") (call_expression "GetMagicName(iVar6)" (identifier "GetMagicName") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";"))) (expression_statement "CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,uVar7,0x1000)" (identifier "CopyMagickString") (argument_list "(param_1 + 0x1f0,uVar7,0x1000)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (identifier "uVar7") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);" (assignment_expression "puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2)" (identifier "puVar4") (= "=") (cast_expression "(undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetMagickInfo(param_1 + 0x1f0,uVar2)" (identifier "GetMagickInfo") (argument_list "(param_1 + 0x1f0,uVar2)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (identifier "uVar2") () ")"))))) (; ";")) (if_statement "if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;" (if "if") (parenthesized_expression "(puVar4 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar4 == (undefined4 *)0x0" (identifier "puVar4") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000e7a51;" (goto "goto") (statement_identifier "LAB_000e7a51") (; ";"))) (} "}")) (else_clause "else {\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" (else "else") (compound_statement "{\n            uVar7 = GetMagicName(iVar6);\n            iVar3 = LocaleCompare(puVar4[5],uVar7);\n            if (iVar3 != 0) goto LAB_000e7a0e;\n            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);\n          }" ({ "{") (expression_statement "uVar7 = GetMagicName(iVar6);" (assignment_expression "uVar7 = GetMagicName(iVar6)" (identifier "uVar7") (= "=") (call_expression "GetMagicName(iVar6)" (identifier "GetMagicName") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "iVar3 = LocaleCompare(puVar4[5],uVar7);" (assignment_expression "iVar3 = LocaleCompare(puVar4[5],uVar7)" (identifier "iVar3") (= "=") (call_expression "LocaleCompare(puVar4[5],uVar7)" (identifier "LocaleCompare") (argument_list "(puVar4[5],uVar7)" (( "(") (subscript_expression "puVar4[5]" (identifier "puVar4") ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar3 != 0) goto LAB_000e7a0e;" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000e7a0e;" (goto "goto") (statement_identifier "LAB_000e7a0e") (; ";"))) (expression_statement "CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);" (call_expression "CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000)" (identifier "CopyMagickString") (argument_list "(param_1 + 0x1f0,*puVar4,0x1000)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) (, ",") (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar6 = GetMagickEndianSupport(puVar4);" (assignment_expression "iVar6 = GetMagickEndianSupport(puVar4)" (identifier "iVar6") (= "=") (call_expression "GetMagickEndianSupport(puVar4)" (identifier "GetMagickEndianSupport") (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (; ";")) (labeled_statement "joined_r0x000e7f90:\n          if (iVar6 == 0) goto LAB_000e7a51;" (statement_identifier "joined_r0x000e7f90") (: ":") (if_statement "if (iVar6 == 0) goto LAB_000e7a51;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000e7a51;" (goto "goto") (statement_identifier "LAB_000e7a51") (; ";")))) (} "}")))) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" (identifier "DestroyExceptionInfo") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_000e7ac5;" (goto "goto") (statement_identifier "LAB_000e7ac5") (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" (else "else") (if_statement "if (param_2 == 0) {\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }\n    else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x10) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x10) == 0" (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000e78a3;" (goto "goto") (statement_identifier "LAB_000e78a3") (; ";"))) (} "}")) (else_clause "else {\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" (else "else") (compound_statement "{\n      iVar6 = GetMagickInfo(local_1020,param_3);\n      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;\n    }" ({ "{") (expression_statement "iVar6 = GetMagickInfo(local_1020,param_3);" (assignment_expression "iVar6 = GetMagickInfo(local_1020,param_3)" (identifier "iVar6") (= "=") (call_expression "GetMagickInfo(local_1020,param_3)" (identifier "GetMagickInfo") (argument_list "(local_1020,param_3)" (( "(") (identifier "local_1020") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;" (if "if") (parenthesized_expression "((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0))" (( "(") (binary_expression "(iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)" (( "(") (comma_expression "iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0" (assignment_expression "iVar6 = GetMagickAdjoin(iVar6)" (identifier "iVar6") (= "=") (call_expression "GetMagickAdjoin(iVar6)" (identifier "GetMagickAdjoin") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000e7ab4;" (goto "goto") (statement_identifier "LAB_000e7ab4") (; ";"))) (} "}"))))))) (} "}")) (else_clause "else {\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" (else "else") (compound_statement "{\n    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);\n    iVar3 = LocaleCompare(local_2020,iVar6);\n    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }\nLAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;\n  }" ({ "{") (expression_statement "InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);" (call_expression "InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3)" (identifier "InterpretImageFilename") (argument_list "(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (identifier "iVar6") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x28)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (identifier "local_2020") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "iVar3 = LocaleCompare(local_2020,iVar6);" (assignment_expression "iVar3 = LocaleCompare(local_2020,iVar6)" (identifier "iVar3") (= "=") (call_expression "LocaleCompare(local_2020,iVar6)" (identifier "LocaleCompare") (argument_list "(local_2020,iVar6)" (( "(") (identifier "local_2020") (, ",") (identifier "iVar6") () ")")))) (; ";")) (if_statement "if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }" (if "if") (parenthesized_expression "((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0))" (( "(") (binary_expression "(iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)" (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)" (( "(") (comma_expression "pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0" (assignment_expression "pcVar12 = strchr(local_2020,0x25)" (identifier "pcVar12") (= "=") (call_expression "strchr(local_2020,0x25)" (identifier "strchr") (argument_list "(local_2020,0x25)" (( "(") (identifier "local_2020") (, ",") (number_literal "0x25") () ")")))) (, ",") (binary_expression "pcVar12 != (char *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      iVar3 = *(int *)(param_1 + 0xc);\n      goto LAB_000e7881;\n    }" ({ "{") (expression_statement "iVar3 = *(int *)(param_1 + 0xc);" (assignment_expression "iVar3 = *(int *)(param_1 + 0xc)" (identifier "iVar3") (= "=") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (goto_statement "goto LAB_000e7881;" (goto "goto") (statement_identifier "LAB_000e7881") (; ";")) (} "}"))) (labeled_statement "LAB_000e7ab4:\n    *(undefined4 *)(param_1 + 0xc) = 0;" (statement_identifier "LAB_000e7ab4") (: ":") (expression_statement "*(undefined4 *)(param_1 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0xc) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (} "}")))) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000e7ac5:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (statement_identifier "LAB_000e7ac5") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" ({ "{") (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" (identifier "FUN_0029eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

type_1 function_1(type_2 *var_2,type_3 var_35,type_4 *exception)

{
  int var_67;
  type_5 var_16;
  type_4 *pEVar3;
  type_1 var_8;
  type_6 *var_28;
  type_7 *var_39;
  size_t var_42;
  type_8 *image;
  type_9 *var_53;
  type_10 *var_60;
  char *var_62;
  type_11 var_21;
  type_12 **ppuVar10;
  type_3 var_17;
  type_3 var_19;
  char *var_33;
  type_3 var_18;
  int var_31;
  int var_32;
  type_5 var_12;
  type_11 var_22;
  type_5 *var_14;
  int var_1;
  char *var_20;
  char component [4096];
  char magic [4096];
  
  var_67 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"SetImageInfo");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,
                  "SetImageInfo");
  }
  var_62 = var_2->filename;
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"MagickCore/image.c","SetImageInfo",0xaab,"%s",var_62);
  }
  component[0] = '\0';
  var_6(var_62,SubimagePath,component);
  if (component[0] != '\0') {
    var_8 = var_7(component,var_4);
    if (var_8 == var_4) {
      var_8 = var_9(component);
      if (var_8 != var_4) {
        var_10(&var_2->extract,component);
      }
    }
    else {
      var_10(&var_2->scenes,component);
      var_21 = var_11(var_2->scenes,(char **)0x0,10);
      var_14 = (type_5 *)var_2->scenes;
      var_2->scene = var_21;
      var_2->number_scenes = var_21;
      var_12 = *var_14;
      var_22 = var_21;
      var_20 = (char *)var_14;
      if (var_12 != 0) {
        ppuVar10 = var_13();
        while( true ) {
          while (((*(type_5 *)((int)*ppuVar10 + (type_3)var_12 * 2 + 1) & 0x20) != 0 || (var_12 == 0x2c)
                 )) {
            var_14 = var_14 + 1;
            var_12 = *var_14;
          }
          var_17 = var_15((char *)var_14,&var_20,10);
          var_12 = *var_20;
          var_16 = *(type_5 *)((int)*ppuVar10 + (type_3)var_12 * 2 + 1);
          while ((var_16 & 0x20) != 0) {
            var_20 = (char *)((type_5 *)var_20 + 1);
            var_12 = *var_20;
            var_16 = *(type_5 *)((int)*ppuVar10 + (type_3)var_12 * 2 + 1);
          }
          var_19 = var_17;
          if ((var_12 == 0x2d) &&
             (var_18 = var_15((char *)((type_5 *)var_20 + 1),&var_20,10), var_19 = var_18, var_17 <= var_18)) {
            var_19 = var_17;
            var_17 = var_18;
          }
          if (var_19 < var_2->scene) {
            var_2->scene = var_19;
          }
          if (var_2->number_scenes < var_17) {
            var_2->number_scenes = var_17;
          }
          var_14 = (type_5 *)(var_20 + 1);
          if (*var_20 == '\0') break;
          var_12 = var_20[1];
        }
        var_21 = var_2->number_scenes;
        var_22 = var_2->scene;
      }
      var_2->number_scenes = (var_21 + 1) - var_22;
    }
  }
  component[0] = '\0';
  if (var_2->magick[0] == '\0') {
    var_6(var_62,ExtensionPath,component);
  }
  var_2->affirm = var_4;
  pEVar3 = var_23();
  if (component[0] != '\0') {
    var_8 = var_24(component);
    if (var_8 == var_4) {
      var_25(magic,component,0x1000);
      var_26(magic);
      var_28 = var_27(magic,pEVar3);
      if ((var_28 == (type_6 *)0x0) || (var_28->format_type == var_29)) {
        var_32 = 1;
        var_33 = "AUTOTRACE";
        do {
          if ((magic[0] == *var_33) && (var_31 = var_30(magic,var_33), var_31 == 0))
          goto LAB_000e7e3c;
          var_33 = function_1::lexical_block_16::format_type_formats[var_32];
          var_32 = var_32 + 1;
        } while (var_33 != (char *)0x0);
LAB_000e7e43:
        var_25(var_2->magick,magic,0x1000);
      }
      else if (var_28->format_type == var_34) {
LAB_000e7e3c:
        var_2->affirm = MagickTrue;
        goto LAB_000e7e43;
      }
      var_32 = var_30(magic,"RGB");
      if (var_32 == 0) {
        var_2->affirm = var_4;
      }
    }
  }
  magic[0] = '\0';
  var_6(var_62,MagickPath,magic);
  if (magic[0] == '\0') {
    var_25(magic,var_2->magick,0x1000);
    var_28 = var_27(magic,pEVar3);
    if (var_35 == 0) {
      var_6(var_62,CanonicalPath,component);
    }
    else {
      var_6(var_62,SubcanonicalPath,component);
    }
LAB_000e77cf:
    var_25(var_62,component,0x1000);
LAB_000e7842:
    var_36(pEVar3);
    if ((var_28 == (type_6 *)0x0) ||
       (var_8 = var_37(var_28), var_8 == var_4)) goto LAB_000e7865;
  }
  else {
    var_26(magic);
    var_28 = var_27(magic,pEVar3);
    var_39 = var_38(magic,"*",pEVar3);
    if (((var_39 != (type_7 *)0x0) ||
        (var_39 = var_38("*",magic,pEVar3), var_28 != (type_6 *)0x0)) ||
       (var_39 != (type_7 *)0x0)) {
      var_8 = var_40(magic);
      if (var_8 == var_4) {
        var_2->affirm = MagickTrue;
        var_25(var_2->magick,magic,0x1000);
        var_6(var_62,CanonicalPath,component);
        goto LAB_000e77cf;
      }
      goto LAB_000e7842;
    }
    var_28 = (type_6 *)0x0;
    var_36(pEVar3);
LAB_000e7865:
    var_2->endian = UndefinedEndian;
  }
  var_8 = var_2->adjoin;
  if ((var_35 < 2) || (var_8 == var_4)) {
LAB_000e7881:
    if (var_8 == var_4) {
      if (var_35 == 0 && var_2->affirm == var_4) {
LAB_000e78a3:
        var_42 = var_41(exception);
        var_8 = var_4;
        if (var_42 == 0) goto LAB_000e7ac5;
        image = var_43(var_2,exception);
        var_25(image->filename,var_62,0x1000);
        var_8 = var_44(var_2,image,ReadBinaryBlobMode,exception);
        if (var_8 == var_4) {
          var_45(image);
          var_8 = var_4;
          goto LAB_000e7ac5;
        }
        var_8 = var_46(image);
        if ((var_8 == var_4) || (var_8 = var_47(image), var_8 != var_4)) {
          component[0] = '\0';
          var_8 = var_48(image,component,exception);
          var_49(image);
          if (var_8 == var_4) {
            var_50(component);
            var_45(image);
            var_8 = var_4;
            goto LAB_000e7ac5;
          }
          var_51(var_2,(type_13 *)0x0);
          var_25(image->filename,component,0x1000);
          var_8 = var_44(var_2,image,ReadBinaryBlobMode,exception);
          if (var_8 == var_4) {
            var_50(component);
            var_45(image);
            var_8 = var_4;
            goto LAB_000e7ac5;
          }
          var_25(var_62,component,0x1000);
          var_2->temporary = MagickTrue;
        }
        var_53 = (type_9 *)var_52(1,var_42);
        if (var_53 == (type_9 *)0x0) {
          var_49(image);
          var_45(image);
          var_8 = var_4;
          goto LAB_000e7ac5;
        }
        var_54(var_53,0,var_42);
        var_42 = var_55(image,var_42,var_53);
        var_56(image,var_57(-(((int)var_42 >> 0x1f) + (type_3)(var_42 != 0)),-var_42),1);
        var_49(image);
        var_45(image);
        pEVar3 = var_23();
        var_60 = var_58(var_53,var_42,pEVar3);
        var_59(var_53);
        if ((var_60 == (type_10 *)0x0) ||
           (var_62 = var_61(var_60), var_62 == (char *)0x0)) {
          var_28 = var_27(var_2->magick,pEVar3);
          if (var_28 != (type_6 *)0x0) {
            var_8 = var_37(var_28);
            goto joined_r0x000e7f90;
          }
LAB_000e7a51:
          var_2->endian = UndefinedEndian;
        }
        else {
          if ((var_28 == (type_6 *)0x0) ||
             (var_8 = var_63(var_28), var_8 == var_4)) {
LAB_000e7a0e:
            var_62 = var_61(var_60);
            var_25(var_2->magick,var_62,0x1000);
            var_28 = var_27(var_2->magick,pEVar3);
            if (var_28 == (type_6 *)0x0) goto LAB_000e7a51;
          }
          else {
            var_62 = var_61(var_60);
            var_32 = var_30(var_28->module,var_62);
            if (var_32 != 0) goto LAB_000e7a0e;
            var_25(var_2->magick,var_28->name,0x1000);
          }
          var_8 = var_37(var_28);
joined_r0x000e7f90:
          if (var_8 == var_4) goto LAB_000e7a51;
        }
        var_36(pEVar3);
        var_8 = MagickTrue;
        goto LAB_000e7ac5;
      }
    }
    else if (var_35 == 0) {
      if (var_2->affirm == var_4) goto LAB_000e78a3;
    }
    else {
      var_28 = var_27(magic,exception);
      if ((var_28 != (type_6 *)0x0) && (var_8 = var_64(var_28), var_8 == var_4))
      goto LAB_000e7ab4;
    }
  }
  else {
    var_65(var_2,(type_8 *)0x0,var_62,var_2->scene,component,exception);
    var_32 = var_30(component,var_62);
    if ((var_32 == 0) || (var_33 = var_66(component,0x25), var_33 != (char *)0x0)) {
      var_8 = var_2->adjoin;
      goto LAB_000e7881;
    }
LAB_000e7ab4:
    var_2->adjoin = var_4;
  }
  var_8 = MagickTrue;
LAB_000e7ac5:
  if (var_67 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_68();
  }
  return var_8;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  byte bVar1;
  undefined4 uVar2;
  int iVar3;
  undefined4 *puVar4;
  size_t __n;
  int iVar5;
  void *__s;
  int iVar6;
  undefined4 uVar7;
  ulong uVar8;
  ushort **ppuVar9;
  uint uVar10;
  uint uVar11;
  char *pcVar12;
  uint uVar13;
  byte bVar14;
  ulong uVar15;
  byte *__nptr;
  int in_GS_OFFSET;
  byte *local_2024;
  char local_2020 [4096];
  char local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0xe7689;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (ImageInfo *) NULL","MagickCore/image.c",0xaa8,"MASKED");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0xaa9,
                  "MASKED");
  }
  iVar6 = param_1 + 0x21f0;
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"MagickCore/image.c","MASKED",0xaab,&DAT_002b6e4e,iVar6);
  }
  local_2020[0] = '\0';
  GetPathComponent(iVar6,7,local_2020);
  if (local_2020[0] != '\0') {
    iVar3 = IsSceneGeometry(local_2020,0);
    if (iVar3 == 0) {
      iVar3 = IsGeometry(local_2020);
      if (iVar3 != 0) {
        CloneString(param_1 + 0x1c,local_2020);
      }
    }
    else {
      CloneString(param_1 + 0x24,local_2020);
      uVar8 = strtoul(*(char **)(param_1 + 0x24),(char **)0x0,10);
      __nptr = *(byte **)(param_1 + 0x24);
      *(ulong *)(param_1 + 0x28) = uVar8;
      *(ulong *)(param_1 + 0x2c) = uVar8;
      bVar14 = *__nptr;
      uVar15 = uVar8;
      local_2024 = __nptr;
      if (bVar14 != 0) {
        ppuVar9 = __ctype_b_loc();
        while( true ) {
          while (((*(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1) & 0x20) != 0 || (bVar14 == 0x2c))
                ) {
            __nptr = __nptr + 1;
            bVar14 = *__nptr;
          }
          uVar10 = strtol((char *)__nptr,(char **)&local_2024,10);
          bVar14 = *local_2024;
          bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);
          while ((bVar1 & 0x20) != 0) {
            local_2024 = local_2024 + 1;
            bVar14 = *local_2024;
            bVar1 = *(byte *)((int)*ppuVar9 + (uint)bVar14 * 2 + 1);
          }
          uVar11 = uVar10;
          if ((bVar14 == 0x2d) &&
             (uVar13 = strtol((char *)(local_2024 + 1),(char **)&local_2024,10), uVar11 = uVar13,
             uVar10 <= uVar13)) {
            uVar11 = uVar10;
            uVar10 = uVar13;
          }
          if (uVar11 < *(uint *)(param_1 + 0x28)) {
            *(uint *)(param_1 + 0x28) = uVar11;
          }
          if (*(uint *)(param_1 + 0x2c) < uVar10) {
            *(uint *)(param_1 + 0x2c) = uVar10;
          }
          __nptr = local_2024 + 1;
          if (*local_2024 == 0) break;
          bVar14 = local_2024[1];
        }
        uVar8 = *(ulong *)(param_1 + 0x2c);
        uVar15 = *(ulong *)(param_1 + 0x28);
      }
      *(ulong *)(param_1 + 0x2c) = (uVar8 + 1) - uVar15;
    }
  }
  local_2020[0] = '\0';
  if (*(char *)(param_1 + 0x1f0) == '\0') {
    GetPathComponent(iVar6,6,local_2020);
  }
  *(undefined4 *)(param_1 + 0x10) = 0;
  uVar2 = AcquireExceptionInfo();
  if (local_2020[0] != '\0') {
    iVar3 = FUN_001a30a0(local_2020);
    if (iVar3 == 0) {
      CopyMagickString(local_1020,local_2020,0x1000);
      LocaleUpper(local_1020);
      iVar3 = GetMagickInfo(local_1020,uVar2);
      if ((iVar3 == 0) || (*(int *)(iVar3 + 0x28) == 0)) {
        iVar3 = 1;
        pcVar12 = "AUTOTRACE";
        do {
          if ((local_1020[0] == *pcVar12) && (iVar5 = LocaleCompare(local_1020,pcVar12), iVar5 == 0)
             ) goto LAB_000e7e3c;
          pcVar12 = (&PTR_s_AUTOTRACE_003bc140)[iVar3];
          iVar3 = iVar3 + 1;
        } while (pcVar12 != (char *)0x0);
LAB_000e7e43:
        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);
      }
      else if (*(int *)(iVar3 + 0x28) == 2) {
LAB_000e7e3c:
        *(undefined4 *)(param_1 + 0x10) = 1;
        goto LAB_000e7e43;
      }
      iVar3 = LocaleCompare(local_1020,"RGB");
      if (iVar3 == 0) {
        *(undefined4 *)(param_1 + 0x10) = 0;
      }
    }
  }
  local_1020[0] = '\0';
  GetPathComponent(iVar6,1,local_1020);
  if (local_1020[0] == '\0') {
    CopyMagickString(local_1020,param_1 + 0x1f0,0x1000);
    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);
    if (param_2 == 0) {
      GetPathComponent(iVar6,8,local_2020);
    }
    else {
      GetPathComponent(iVar6,9,local_2020);
    }
LAB_000e77cf:
    CopyMagickString(iVar6,local_2020,0x1000);
LAB_000e7842:
    DestroyExceptionInfo(uVar2);
    if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickEndianSupport(puVar4), iVar3 == 0))
    goto LAB_000e7865;
  }
  else {
    LocaleUpper(local_1020);
    puVar4 = (undefined4 *)GetMagickInfo(local_1020,uVar2);
    iVar3 = GetDelegateInfo(local_1020,&DAT_002b96d5,uVar2);
    if (((iVar3 != 0) ||
        (iVar3 = GetDelegateInfo(&DAT_002b96d5,local_1020,uVar2), puVar4 != (undefined4 *)0x0)) ||
       (iVar3 != 0)) {
      iVar3 = FUN_000f75b0(local_1020);
      if (iVar3 == 0) {
        *(undefined4 *)(param_1 + 0x10) = 1;
        CopyMagickString(param_1 + 0x1f0,local_1020,0x1000);
        GetPathComponent(iVar6,8,local_2020);
        goto LAB_000e77cf;
      }
      goto LAB_000e7842;
    }
    puVar4 = (undefined4 *)0x0;
    DestroyExceptionInfo(uVar2);
LAB_000e7865:
    *(undefined4 *)(param_1 + 0x38) = 0;
  }
  iVar3 = *(int *)(param_1 + 0xc);
  if ((param_2 < 2) || (iVar3 == 0)) {
LAB_000e7881:
    if (iVar3 == 0) {
      if (param_2 == 0 && *(int *)(param_1 + 0x10) == 0) {
LAB_000e78a3:
        __n = GetMagicPatternExtent(param_3);
        uVar2 = 0;
        if (__n == 0) goto LAB_000e7ac5;
        iVar3 = AcquireImage(param_1,param_3);
        CopyMagickString(iVar3 + 0x318,iVar6,0x1000);
        iVar5 = OpenBlob(param_1,iVar3,2,param_3);
        if (iVar5 == 0) {
          DestroyImage(iVar3);
          uVar2 = 0;
          goto LAB_000e7ac5;
        }
        iVar5 = IsBlobSeekable(iVar3);
        if ((iVar5 == 0) || (iVar5 = IsBlobExempt(iVar3), iVar5 != 0)) {
          local_2020[0] = '\0';
          iVar5 = ImageToFile(iVar3,local_2020,param_3);
          CloseBlob(iVar3);
          if (iVar5 == 0) {
            RelinquishUniqueFileResource(local_2020);
            DestroyImage(iVar3);
            uVar2 = 0;
            goto LAB_000e7ac5;
          }
          MASKEDFile(param_1,0);
          CopyMagickString(iVar3 + 0x318,local_2020,0x1000);
          iVar5 = OpenBlob(param_1,iVar3,2,param_3);
          if (iVar5 == 0) {
            RelinquishUniqueFileResource(local_2020);
            DestroyImage(iVar3);
            uVar2 = 0;
            goto LAB_000e7ac5;
          }
          CopyMagickString(iVar6,local_2020,0x1000);
          *(undefined4 *)(param_1 + 8) = 1;
        }
        __s = (void *)AcquireQuantumMemory(1,__n);
        if (__s == (void *)0x0) {
          CloseBlob(iVar3);
          DestroyImage(iVar3);
          uVar2 = 0;
          goto LAB_000e7ac5;
        }
        memset(__s,0,__n);
        iVar6 = ReadBlob(iVar3,__n,__s);
        SeekBlob(iVar3,-iVar6,-((iVar6 >> 0x1f) + (uint)(iVar6 != 0)),1);
        CloseBlob(iVar3);
        DestroyImage(iVar3);
        uVar2 = AcquireExceptionInfo();
        iVar6 = GetMagicInfo(__s,iVar6,uVar2);
        RelinquishMagickMemory(__s);
        if ((iVar6 == 0) || (iVar3 = GetMagicName(iVar6), iVar3 == 0)) {
          iVar6 = GetMagickInfo(param_1 + 0x1f0,uVar2);
          if (iVar6 != 0) {
            iVar6 = GetMagickEndianSupport(iVar6);
            goto joined_r0x000e7f90;
          }
LAB_000e7a51:
          *(undefined4 *)(param_1 + 0x38) = 0;
        }
        else {
          if ((puVar4 == (undefined4 *)0x0) || (iVar3 = GetMagickUseExtension(puVar4), iVar3 == 0))
          {
LAB_000e7a0e:
            uVar7 = GetMagicName(iVar6);
            CopyMagickString(param_1 + 0x1f0,uVar7,0x1000);
            puVar4 = (undefined4 *)GetMagickInfo(param_1 + 0x1f0,uVar2);
            if (puVar4 == (undefined4 *)0x0) goto LAB_000e7a51;
          }
          else {
            uVar7 = GetMagicName(iVar6);
            iVar3 = LocaleCompare(puVar4[5],uVar7);
            if (iVar3 != 0) goto LAB_000e7a0e;
            CopyMagickString(param_1 + 0x1f0,*puVar4,0x1000);
          }
          iVar6 = GetMagickEndianSupport(puVar4);
joined_r0x000e7f90:
          if (iVar6 == 0) goto LAB_000e7a51;
        }
        DestroyExceptionInfo(uVar2);
        uVar2 = 1;
        goto LAB_000e7ac5;
      }
    }
    else if (param_2 == 0) {
      if (*(int *)(param_1 + 0x10) == 0) goto LAB_000e78a3;
    }
    else {
      iVar6 = GetMagickInfo(local_1020,param_3);
      if ((iVar6 != 0) && (iVar6 = GetMagickAdjoin(iVar6), iVar6 == 0)) goto LAB_000e7ab4;
    }
  }
  else {
    InterpretImageFilename(param_1,0,iVar6,*(undefined4 *)(param_1 + 0x28),local_2020,param_3);
    iVar3 = LocaleCompare(local_2020,iVar6);
    if ((iVar3 == 0) || (pcVar12 = strchr(local_2020,0x25), pcVar12 != (char *)0x0)) {
      iVar3 = *(int *)(param_1 + 0xc);
      goto LAB_000e7881;
    }
LAB_000e7ab4:
    *(undefined4 *)(param_1 + 0xc) = 0;
  }
  uVar2 = 1;
LAB_000e7ac5:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar2;
}

