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

DrawingWand * NewDrawingWand(void)

{
  MagickBooleanType MVar1;
  undefined8 uVar2;
  DrawingWand *__s;
  size_t sVar3;
  DrawInfo **ppDVar4;
  ExceptionInfo *pEVar5;
  Image *pIVar6;
  DrawInfo *pDVar7;
  int *piVar8;
  undefined8 uVar9;
  long in_FS_OFFSET;
  size_t depth;
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  uVar2 = GetMagickQuantumDepth(&depth);
  if (depth != 0x10) {
    uVar9 = AcquireExceptionInfo();
    ThrowMagickException
              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,
               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);
    CatchException(uVar9);
    DestroyExceptionInfo(uVar9);
    MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
    _exit(-0xe5);
  }
  __s = (DrawingWand *)AcquireMagickMemory(0x10a0);
  if (__s != (DrawingWand *)0x0) {
    memset(__s,0,0x10a0);
    sVar3 = AcquireWandId();
    __s->id = sVar3;
    FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");
    if (__s->debug != MagickFalse) {
      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);
    }
    __s->mvg = (char *)0x0;
    __s->mvg_alloc = 0;
    __s->mvg_length = 0;
    __s->mvg_width = 0;
    __s->pattern_id = (char *)0x0;
    __s->pattern_offset = 0;
    (__s->pattern_bounds).x = 0;
    (__s->pattern_bounds).y = 0;
    (__s->pattern_bounds).width = 0;
    (__s->pattern_bounds).height = 0;
    __s->index = 0;
    ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);
    __s->graphic_context = ppDVar4;
    if (ppDVar4 != (DrawInfo **)0x0) {
      __s->filter_off = MagickTrue;
      __s->indent_depth = 0;
      __s->path_operation = PathDefaultOperation;
      __s->path_mode = DefaultPathMode;
      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();
      __s->exception = pEVar5;
      pIVar6 = (Image *)AcquireImage(0,pEVar5);
      __s->image = pIVar6;
      __s->destroy = MagickTrue;
      MVar1 = IsEventLogging();
      __s->debug = MVar1;
      __s->signature = 0xabacadab;
      sVar3 = __s->index;
      ppDVar4 = __s->graphic_context;
      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);
      ppDVar4[sVar3] = pDVar7;
      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
        return __s;
      }
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail();
    }
    uVar2 = AcquireExceptionInfo();
    piVar8 = __errno_location();
    uVar9 = GetExceptionMessage(*piVar8);
    ThrowMagickException
              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,
               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);
    CatchException(uVar2);
    DestroyExceptionInfo(uVar2);
    MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
    _exit(1);
  }
  uVar2 = AcquireExceptionInfo();
  piVar8 = __errno_location();
  uVar9 = GetExceptionMessage(*piVar8);
  ThrowMagickException
            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",
             &DAT_0020ca76,uVar9);
  CatchException(uVar2);
  DestroyExceptionInfo(uVar2);
  MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}



ulong * NewDrawingWand(void)

{
  ulong uVar1;
  undefined4 uVar2;
  undefined8 uVar3;
  ulong *__s;
  ulong uVar4;
  int *piVar5;
  undefined8 uVar6;
  long in_FS_OFFSET;
  long local_28;
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  uVar3 = GetMagickQuantumDepth(&local_28);
  if (local_28 != 0x10) {
    uVar6 = AcquireExceptionInfo();
    ThrowMagickException
              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,
               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);
    CatchException(uVar6);
    DestroyExceptionInfo(uVar6);
    MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
    _exit(-0xe5);
  }
  __s = (ulong *)AcquireMagickMemory(0x10a0);
  if (__s != (ulong *)0x0) {
    memset(__s,0,0x10a0);
    uVar4 = AcquireWandId();
    *__s = uVar4;
    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");
    if (*(int *)((long)__s + 0x1094) != 0) {
      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);
    }
    __s[0x203] = 0;
    __s[0x204] = 0;
    __s[0x205] = 0;
    __s[0x206] = 0;
    __s[0x207] = 0;
    __s[0x20c] = 0;
    __s[0x20a] = 0;
    __s[0x20b] = 0;
    __s[0x208] = 0;
    __s[0x209] = 0;
    __s[0x20d] = 0;
    uVar4 = AcquireMagickMemory(8);
    __s[0x20e] = uVar4;
    if (uVar4 != 0) {
      *(undefined4 *)(__s + 0x20f) = 1;
      __s[0x210] = 0;
      *(undefined4 *)(__s + 0x211) = 0;
      *(undefined4 *)((long)__s + 0x108c) = 0;
      uVar4 = AcquireExceptionInfo();
      __s[0x202] = uVar4;
      uVar4 = AcquireImage(0,uVar4);
      __s[0x201] = uVar4;
      *(undefined4 *)(__s + 0x212) = 1;
      uVar2 = IsEventLogging();
      *(undefined4 *)((long)__s + 0x1094) = uVar2;
      __s[0x213] = 0xabacadab;
      uVar4 = __s[0x20d];
      uVar1 = __s[0x20e];
      uVar3 = CloneDrawInfo(0,0);
      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;
      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
        return __s;
      }
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail();
    }
    uVar3 = AcquireExceptionInfo();
    piVar5 = __errno_location();
    uVar6 = GetExceptionMessage(*piVar5);
    ThrowMagickException
              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,
               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);
    CatchException(uVar3);
    DestroyExceptionInfo(uVar3);
    MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
    _exit(1);
  }
  uVar3 = AcquireExceptionInfo();
  piVar5 = __errno_location();
  uVar6 = GetExceptionMessage(*piVar5);
  ThrowMagickException
            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",
             &DAT_0020ca76,uVar6);
  CatchException(uVar3);
  DestroyExceptionInfo(uVar3);
  MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}


PUSH RBP
PUSH RBX
SUB RSP,0x18
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x8],RAX
XOR EAX,EAX
MOV RDI,RSP
CALL 0x00113030
CMP qword ptr [RSP],0x10
JNZ 0x0017adbb
MOV EDI,0x10a0
CALL 0x001114f0
MOV RBX,RAX
TEST RAX,RAX
JZ 0x0017ae1f
MOV EDX,0x10a0
MOV ESI,0x0
MOV RDI,RAX
CALL 0x00111470
CALL 0x00112650
MOV qword ptr [RBX],RAX
LEA RBP,[RBX + 0x8]
TEST RAX,RAX
JS 0x0017ae8c
PXOR XMM0,XMM0
CVTSI2SD XMM0,RAX
LEA RCX,[0x21804c]
LEA RDX,[0x21806d]
MOV ESI,0x1000
MOV RDI,RBP
MOV EAX,0x1
CALL 0x001132d0
CMP dword ptr [RBX + 0x1094],0x0
JNZ 0x0017aeaa
MOV qword ptr [RBX + 0x1018],0x0
MOV qword ptr [RBX + 0x1020],0x0
MOV qword ptr [RBX + 0x1028],0x0
MOV qword ptr [RBX + 0x1030],0x0
MOV qword ptr [RBX + 0x1038],0x0
MOV qword ptr [RBX + 0x1060],0x0
MOV qword ptr [RBX + 0x1050],0x0
MOV qword ptr [RBX + 0x1058],0x0
MOV qword ptr [RBX + 0x1040],0x0
MOV qword ptr [RBX + 0x1048],0x0
MOV qword ptr [RBX + 0x1068],0x0
MOV EDI,0x8
CALL 0x001114f0
MOV qword ptr [RBX + 0x1070],RAX
TEST RAX,RAX
JZ 0x0017aedb
MOV dword ptr [RBX + 0x1078],0x1
MOV qword ptr [RBX + 0x1080],0x0
MOV dword ptr [RBX + 0x1088],0x0
MOV dword ptr [RBX + 0x108c],0x0
CALL 0x00112e20
MOV qword ptr [RBX + 0x1010],RAX
MOV RSI,RAX
MOV EDI,0x0
CALL 0x00111be0
MOV qword ptr [RBX + 0x1008],RAX
MOV dword ptr [RBX + 0x1090],0x1
CALL 0x00111870
MOV dword ptr [RBX + 0x1094],EAX
MOV EAX,0xabacadab
MOV qword ptr [RBX + 0x1098],RAX
MOV RDX,qword ptr [RBX + 0x1068]
MOV RAX,qword ptr [RBX + 0x1070]
LEA RBP,[RAX + RDX*0x8]
MOV ESI,0x0
MOV EDI,0x0
CALL 0x001125b0
MOV qword ptr [RBP],RAX
MOV RAX,RBX
MOV RCX,qword ptr [RSP + 0x8]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x0017af48
ADD RSP,0x18
POP RBX
POP RBP
RET
MOV RBX,RAX
CALL 0x00112e20
MOV RBP,RAX
PUSH RBX
LEA RAX,[0x20ca76]
PUSH RAX
LEA R9,[0x218058]
MOV R8D,0x1d6
MOV ECX,0x1a90
LEA RDX,[0x218720]
LEA RSI,[0x217a30]
MOV RDI,RBP
MOV EAX,0x0
CALL 0x00112db0
ADD RSP,0x10
MOV RDI,RBP
CALL 0x001123c0
MOV RDI,RBP
CALL 0x00113380
CALL 0x00111940
MOV EDI,0xffffff1b
CALL 0x00111aa0
CALL 0x00112e20
MOV RBX,RAX
CALL 0x00112940
MOV EDI,dword ptr [RAX]
CALL 0x00112140
PUSH RAX
LEA RAX,[0x20ca76]
PUSH RAX
LEA R9,[0x20ca5f]
MOV R8D,0x2bc
MOV ECX,0x1a94
LEA RDX,[0x218720]
LEA RSI,[0x217a30]
MOV RDI,RBX
MOV EAX,0x0
CALL 0x00112db0
ADD RSP,0x10
MOV RDI,RBX
CALL 0x001123c0
MOV RDI,RBX
CALL 0x00113380
CALL 0x00111940
MOV EDI,0x1
CALL 0x00111aa0
MOV RDX,RAX
SHR RDX,0x1
AND EAX,0x1
OR RDX,RAX
PXOR XMM0,XMM0
CVTSI2SD XMM0,RDX
ADDSD XMM0,XMM0
JMP 0x0017ac4e
MOV R9,RBP
LEA R8,[0x2228e2]
MOV ECX,0x1a9a
LEA RDX,[0x218720]
LEA RSI,[0x217a30]
MOV EDI,0x40000
MOV EAX,0x0
CALL 0x00112620
JMP 0x0017ac7b
CALL 0x00112e20
MOV RBX,RAX
CALL 0x00112940
MOV EDI,dword ptr [RAX]
CALL 0x00112140
PUSH RAX
LEA RAX,[0x20ca76]
PUSH RAX
LEA R9,[0x20ca5f]
MOV R8D,0x2bc
MOV ECX,0x1aaa
LEA RDX,[0x218720]
LEA RSI,[0x217a30]
MOV RDI,RBX
MOV EAX,0x0
CALL 0x00112db0
ADD RSP,0x10
MOV RDI,RBX
CALL 0x001123c0
MOV RDI,RBX
CALL 0x00113380
CALL 0x00111940
MOV EDI,0x1
CALL 0x00111aa0
CALL 0x00112a70
(translation_unit "ulong * NewDrawingWand(void)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" (function_definition "ulong * NewDrawingWand(void)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" type_identifier (pointer_declarator "* NewDrawingWand(void)" * (function_declarator "NewDrawingWand(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "ulong *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_28;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = GetMagickQuantumDepth(&local_28);" (assignment_expression "uVar3 = GetMagickQuantumDepth(&local_28)" identifier = (call_expression "GetMagickQuantumDepth(&local_28)" identifier (argument_list "(&local_28)" ( (pointer_expression "&local_28" & identifier) )))) ;) (if_statement "if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }" if (parenthesized_expression "(local_28 != 0x10)" ( (binary_expression "local_28 != 0x10" identifier != number_literal) )) (compound_statement "{\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }" { (expression_statement "uVar6 = AcquireExceptionInfo();" (assignment_expression "uVar6 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);" (call_expression "ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3)" identifier (argument_list "(uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""QuantumDepthMismatch"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar6);" (call_expression "CatchException(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar6);" (call_expression "DestroyExceptionInfo(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(-0xe5);" (call_expression "_exit(-0xe5)" identifier (argument_list "(-0xe5)" ( number_literal ))) ;) })) (expression_statement "__s = (ulong *)AcquireMagickMemory(0x10a0);" (assignment_expression "__s = (ulong *)AcquireMagickMemory(0x10a0)" identifier = (cast_expression "(ulong *)AcquireMagickMemory(0x10a0)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickMemory(0x10a0)" identifier (argument_list "(0x10a0)" ( number_literal ))))) ;) (if_statement "if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }" if (parenthesized_expression "(__s != (ulong *)0x0)" ( (binary_expression "__s != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }" { (expression_statement "memset(__s,0,0x10a0);" (call_expression "memset(__s,0,0x10a0)" identifier (argument_list "(__s,0,0x10a0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar4 = AcquireWandId();" (assignment_expression "uVar4 = AcquireWandId()" identifier = (call_expression "AcquireWandId()" identifier (argument_list "()" ( )))) ;) (expression_statement "*__s = uVar4;" (assignment_expression "*__s = uVar4" (pointer_expression "*__s" * identifier) = identifier) ;) (expression_statement "FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");" (call_expression "FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand")" identifier (argument_list "((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand")" ( (cast_expression "(double)uVar4" ( (type_descriptor "double" primitive_type) ) identifier) , (binary_expression "__s + 1" identifier + number_literal) , number_literal , (string_literal ""%s-%.20g"" " string_content ") , (string_literal ""DrawingWand"" " string_content ") ))) ;) (if_statement "if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }" if (parenthesized_expression "(*(int *)((long)__s + 0x1094) != 0)" ( (binary_expression "*(int *)((long)__s + 0x1094) != 0" (pointer_expression "*(int *)((long)__s + 0x1094)" * (cast_expression "(int *)((long)__s + 0x1094)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + 0x1094)" ( (binary_expression "(long)__s + 0x1094" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (binary_expression "__s + 1" identifier + number_literal) ))) ;) })) (expression_statement "__s[0x203] = 0;" (assignment_expression "__s[0x203] = 0" (subscript_expression "__s[0x203]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x204] = 0;" (assignment_expression "__s[0x204] = 0" (subscript_expression "__s[0x204]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x205] = 0;" (assignment_expression "__s[0x205] = 0" (subscript_expression "__s[0x205]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x206] = 0;" (assignment_expression "__s[0x206] = 0" (subscript_expression "__s[0x206]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x207] = 0;" (assignment_expression "__s[0x207] = 0" (subscript_expression "__s[0x207]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20c] = 0;" (assignment_expression "__s[0x20c] = 0" (subscript_expression "__s[0x20c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20a] = 0;" (assignment_expression "__s[0x20a] = 0" (subscript_expression "__s[0x20a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20b] = 0;" (assignment_expression "__s[0x20b] = 0" (subscript_expression "__s[0x20b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x208] = 0;" (assignment_expression "__s[0x208] = 0" (subscript_expression "__s[0x208]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x209] = 0;" (assignment_expression "__s[0x209] = 0" (subscript_expression "__s[0x209]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20d] = 0;" (assignment_expression "__s[0x20d] = 0" (subscript_expression "__s[0x20d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar4 = AcquireMagickMemory(8);" (assignment_expression "uVar4 = AcquireMagickMemory(8)" identifier = (call_expression "AcquireMagickMemory(8)" identifier (argument_list "(8)" ( number_literal )))) ;) (expression_statement "__s[0x20e] = uVar4;" (assignment_expression "__s[0x20e] = uVar4" (subscript_expression "__s[0x20e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" { (expression_statement "*(undefined4 *)(__s + 0x20f) = 1;" (assignment_expression "*(undefined4 *)(__s + 0x20f) = 1" (pointer_expression "*(undefined4 *)(__s + 0x20f)" * (cast_expression "(undefined4 *)(__s + 0x20f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__s + 0x20f)" ( (binary_expression "__s + 0x20f" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__s[0x210] = 0;" (assignment_expression "__s[0x210] = 0" (subscript_expression "__s[0x210]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(__s + 0x211) = 0;" (assignment_expression "*(undefined4 *)(__s + 0x211) = 0" (pointer_expression "*(undefined4 *)(__s + 0x211)" * (cast_expression "(undefined4 *)(__s + 0x211)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__s + 0x211)" ( (binary_expression "__s + 0x211" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)__s + 0x108c) = 0;" (assignment_expression "*(undefined4 *)((long)__s + 0x108c) = 0" (pointer_expression "*(undefined4 *)((long)__s + 0x108c)" * (cast_expression "(undefined4 *)((long)__s + 0x108c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + 0x108c)" ( (binary_expression "(long)__s + 0x108c" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s[0x202] = uVar4;" (assignment_expression "__s[0x202] = uVar4" (subscript_expression "__s[0x202]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = AcquireImage(0,uVar4);" (assignment_expression "uVar4 = AcquireImage(0,uVar4)" identifier = (call_expression "AcquireImage(0,uVar4)" identifier (argument_list "(0,uVar4)" ( number_literal , identifier )))) ;) (expression_statement "__s[0x201] = uVar4;" (assignment_expression "__s[0x201] = uVar4" (subscript_expression "__s[0x201]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(__s + 0x212) = 1;" (assignment_expression "*(undefined4 *)(__s + 0x212) = 1" (pointer_expression "*(undefined4 *)(__s + 0x212)" * (cast_expression "(undefined4 *)(__s + 0x212)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__s + 0x212)" ( (binary_expression "__s + 0x212" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = IsEventLogging();" (assignment_expression "uVar2 = IsEventLogging()" identifier = (call_expression "IsEventLogging()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((long)__s + 0x1094) = uVar2;" (assignment_expression "*(undefined4 *)((long)__s + 0x1094) = uVar2" (pointer_expression "*(undefined4 *)((long)__s + 0x1094)" * (cast_expression "(undefined4 *)((long)__s + 0x1094)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + 0x1094)" ( (binary_expression "(long)__s + 0x1094" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "__s[0x213] = 0xabacadab;" (assignment_expression "__s[0x213] = 0xabacadab" (subscript_expression "__s[0x213]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar4 = __s[0x20d];" (assignment_expression "uVar4 = __s[0x20d]" identifier = (subscript_expression "__s[0x20d]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = __s[0x20e];" (assignment_expression "uVar1 = __s[0x20e]" identifier = (subscript_expression "__s[0x20e]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = CloneDrawInfo(0,0);" (assignment_expression "uVar3 = CloneDrawInfo(0,0)" identifier = (call_expression "CloneDrawInfo(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (expression_statement "*(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;" (assignment_expression "*(undefined8 *)(uVar1 + uVar4 * 8) = uVar3" (pointer_expression "*(undefined8 *)(uVar1 + uVar4 * 8)" * (cast_expression "(undefined8 *)(uVar1 + uVar4 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + uVar4 * 8)" ( (binary_expression "uVar1 + uVar4 * 8" identifier + (binary_expression "uVar4 * 8" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }" if (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n        return __s;\n      }" { (return_statement "return __s;" return identifier ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar3 = AcquireExceptionInfo();" (assignment_expression "uVar3 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);" (call_expression "ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6)" identifier (argument_list "(uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar3);" (call_expression "CatchException(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar3);" (call_expression "DestroyExceptionInfo(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "uVar3 = AcquireExceptionInfo();" (assignment_expression "uVar3 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);" (call_expression "ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6)" identifier (argument_list "(uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar3);" (call_expression "CatchException(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar3);" (call_expression "DestroyExceptionInfo(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\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 "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nDrawingWand * NewDrawingWand(void)\n\n{\n  MagickBooleanType MVar1;\n  undefined8 uVar2;\n  DrawingWand *__s;\n  size_t sVar3;\n  DrawInfo **ppDVar4;\n  ExceptionInfo *pEVar5;\n  Image *pIVar6;\n  DrawInfo *pDVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  long in_FS_OFFSET;\n  size_t depth;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar2 = GetMagickQuantumDepth(&depth);\n  if (depth != 0x10) {\n    uVar9 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);\n    CatchException(uVar9);\n    DestroyExceptionInfo(uVar9);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }\n  __s = (DrawingWand *)AcquireMagickMemory(0x10a0);\n  if (__s != (DrawingWand *)0x0) {\n    memset(__s,0,0x10a0);\n    sVar3 = AcquireWandId();\n    __s->id = sVar3;\n    FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");\n    if (__s->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }\n    __s->mvg = (char *)0x0;\n    __s->mvg_alloc = 0;\n    __s->mvg_length = 0;\n    __s->mvg_width = 0;\n    __s->pattern_id = (char *)0x0;\n    __s->pattern_offset = 0;\n    (__s->pattern_bounds).x = 0;\n    (__s->pattern_bounds).y = 0;\n    (__s->pattern_bounds).width = 0;\n    (__s->pattern_bounds).height = 0;\n    __s->index = 0;\n    ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);\n    __s->graphic_context = ppDVar4;\n    if (ppDVar4 != (DrawInfo **)0x0) {\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar2 = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    uVar9 = GetExceptionMessage(*piVar8);\n    ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);\n    CatchException(uVar2);\n    DestroyExceptionInfo(uVar2);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }\n  uVar2 = AcquireExceptionInfo();\n  piVar8 = __errno_location();\n  uVar9 = GetExceptionMessage(*piVar8);\n  ThrowMagickException\n            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar9);\n  CatchException(uVar2);\n  DestroyExceptionInfo(uVar2);\n  MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" comment comment comment comment comment comment comment (function_definition "DrawingWand * NewDrawingWand(void)\n\n{\n  MagickBooleanType MVar1;\n  undefined8 uVar2;\n  DrawingWand *__s;\n  size_t sVar3;\n  DrawInfo **ppDVar4;\n  ExceptionInfo *pEVar5;\n  Image *pIVar6;\n  DrawInfo *pDVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  long in_FS_OFFSET;\n  size_t depth;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar2 = GetMagickQuantumDepth(&depth);\n  if (depth != 0x10) {\n    uVar9 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);\n    CatchException(uVar9);\n    DestroyExceptionInfo(uVar9);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }\n  __s = (DrawingWand *)AcquireMagickMemory(0x10a0);\n  if (__s != (DrawingWand *)0x0) {\n    memset(__s,0,0x10a0);\n    sVar3 = AcquireWandId();\n    __s->id = sVar3;\n    FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");\n    if (__s->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }\n    __s->mvg = (char *)0x0;\n    __s->mvg_alloc = 0;\n    __s->mvg_length = 0;\n    __s->mvg_width = 0;\n    __s->pattern_id = (char *)0x0;\n    __s->pattern_offset = 0;\n    (__s->pattern_bounds).x = 0;\n    (__s->pattern_bounds).y = 0;\n    (__s->pattern_bounds).width = 0;\n    (__s->pattern_bounds).height = 0;\n    __s->index = 0;\n    ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);\n    __s->graphic_context = ppDVar4;\n    if (ppDVar4 != (DrawInfo **)0x0) {\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar2 = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    uVar9 = GetExceptionMessage(*piVar8);\n    ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);\n    CatchException(uVar2);\n    DestroyExceptionInfo(uVar2);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }\n  uVar2 = AcquireExceptionInfo();\n  piVar8 = __errno_location();\n  uVar9 = GetExceptionMessage(*piVar8);\n  ThrowMagickException\n            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar9);\n  CatchException(uVar2);\n  DestroyExceptionInfo(uVar2);\n  MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" type_identifier (pointer_declarator "* NewDrawingWand(void)" * (function_declarator "NewDrawingWand(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  MagickBooleanType MVar1;\n  undefined8 uVar2;\n  DrawingWand *__s;\n  size_t sVar3;\n  DrawInfo **ppDVar4;\n  ExceptionInfo *pEVar5;\n  Image *pIVar6;\n  DrawInfo *pDVar7;\n  int *piVar8;\n  undefined8 uVar9;\n  long in_FS_OFFSET;\n  size_t depth;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar2 = GetMagickQuantumDepth(&depth);\n  if (depth != 0x10) {\n    uVar9 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);\n    CatchException(uVar9);\n    DestroyExceptionInfo(uVar9);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }\n  __s = (DrawingWand *)AcquireMagickMemory(0x10a0);\n  if (__s != (DrawingWand *)0x0) {\n    memset(__s,0,0x10a0);\n    sVar3 = AcquireWandId();\n    __s->id = sVar3;\n    FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");\n    if (__s->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }\n    __s->mvg = (char *)0x0;\n    __s->mvg_alloc = 0;\n    __s->mvg_length = 0;\n    __s->mvg_width = 0;\n    __s->pattern_id = (char *)0x0;\n    __s->pattern_offset = 0;\n    (__s->pattern_bounds).x = 0;\n    (__s->pattern_bounds).y = 0;\n    (__s->pattern_bounds).width = 0;\n    (__s->pattern_bounds).height = 0;\n    __s->index = 0;\n    ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);\n    __s->graphic_context = ppDVar4;\n    if (ppDVar4 != (DrawInfo **)0x0) {\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar2 = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    uVar9 = GetExceptionMessage(*piVar8);\n    ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);\n    CatchException(uVar2);\n    DestroyExceptionInfo(uVar2);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }\n  uVar2 = AcquireExceptionInfo();\n  piVar8 = __errno_location();\n  uVar9 = GetExceptionMessage(*piVar8);\n  ThrowMagickException\n            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar9);\n  CatchException(uVar2);\n  DestroyExceptionInfo(uVar2);\n  MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "MagickBooleanType MVar1;" type_identifier identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "DrawingWand *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "DrawInfo **ppDVar4;" type_identifier (pointer_declarator "**ppDVar4" * (pointer_declarator "*ppDVar4" * identifier)) ;) (declaration "ExceptionInfo *pEVar5;" type_identifier (pointer_declarator "*pEVar5" * identifier) ;) (declaration "Image *pIVar6;" type_identifier (pointer_declarator "*pIVar6" * identifier) ;) (declaration "DrawInfo *pDVar7;" type_identifier (pointer_declarator "*pDVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t depth;" primitive_type identifier ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = GetMagickQuantumDepth(&depth);" (assignment_expression "uVar2 = GetMagickQuantumDepth(&depth)" identifier = (call_expression "GetMagickQuantumDepth(&depth)" identifier (argument_list "(&depth)" ( (pointer_expression "&depth" & identifier) )))) ;) (if_statement "if (depth != 0x10) {\n    uVar9 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);\n    CatchException(uVar9);\n    DestroyExceptionInfo(uVar9);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }" if (parenthesized_expression "(depth != 0x10)" ( (binary_expression "depth != 0x10" identifier != number_literal) )) (compound_statement "{\n    uVar9 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);\n    CatchException(uVar9);\n    DestroyExceptionInfo(uVar9);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(-0xe5);\n  }" { (expression_statement "uVar9 = AcquireExceptionInfo();" (assignment_expression "uVar9 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);" (call_expression "ThrowMagickException\n              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2)" identifier (argument_list "(uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar2)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""QuantumDepthMismatch"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar9);" (call_expression "CatchException(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar9);" (call_expression "DestroyExceptionInfo(uVar9)" identifier (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(-0xe5);" (call_expression "_exit(-0xe5)" identifier (argument_list "(-0xe5)" ( number_literal ))) ;) })) (expression_statement "__s = (DrawingWand *)AcquireMagickMemory(0x10a0);" (assignment_expression "__s = (DrawingWand *)AcquireMagickMemory(0x10a0)" identifier = (cast_expression "(DrawingWand *)AcquireMagickMemory(0x10a0)" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickMemory(0x10a0)" identifier (argument_list "(0x10a0)" ( number_literal ))))) ;) (if_statement "if (__s != (DrawingWand *)0x0) {\n    memset(__s,0,0x10a0);\n    sVar3 = AcquireWandId();\n    __s->id = sVar3;\n    FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");\n    if (__s->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }\n    __s->mvg = (char *)0x0;\n    __s->mvg_alloc = 0;\n    __s->mvg_length = 0;\n    __s->mvg_width = 0;\n    __s->pattern_id = (char *)0x0;\n    __s->pattern_offset = 0;\n    (__s->pattern_bounds).x = 0;\n    (__s->pattern_bounds).y = 0;\n    (__s->pattern_bounds).width = 0;\n    (__s->pattern_bounds).height = 0;\n    __s->index = 0;\n    ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);\n    __s->graphic_context = ppDVar4;\n    if (ppDVar4 != (DrawInfo **)0x0) {\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar2 = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    uVar9 = GetExceptionMessage(*piVar8);\n    ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);\n    CatchException(uVar2);\n    DestroyExceptionInfo(uVar2);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }" if (parenthesized_expression "(__s != (DrawingWand *)0x0)" ( (binary_expression "__s != (DrawingWand *)0x0" identifier != (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    memset(__s,0,0x10a0);\n    sVar3 = AcquireWandId();\n    __s->id = sVar3;\n    FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");\n    if (__s->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }\n    __s->mvg = (char *)0x0;\n    __s->mvg_alloc = 0;\n    __s->mvg_length = 0;\n    __s->mvg_width = 0;\n    __s->pattern_id = (char *)0x0;\n    __s->pattern_offset = 0;\n    (__s->pattern_bounds).x = 0;\n    (__s->pattern_bounds).y = 0;\n    (__s->pattern_bounds).width = 0;\n    (__s->pattern_bounds).height = 0;\n    __s->index = 0;\n    ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);\n    __s->graphic_context = ppDVar4;\n    if (ppDVar4 != (DrawInfo **)0x0) {\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }\n    uVar2 = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    uVar9 = GetExceptionMessage(*piVar8);\n    ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);\n    CatchException(uVar2);\n    DestroyExceptionInfo(uVar2);\n    MagickWandTerminus();\n                    /* WARNING: Subroutine does not return */\n    _exit(1);\n  }" { (expression_statement "memset(__s,0,0x10a0);" (call_expression "memset(__s,0,0x10a0)" identifier (argument_list "(__s,0,0x10a0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "sVar3 = AcquireWandId();" (assignment_expression "sVar3 = AcquireWandId()" identifier = (call_expression "AcquireWandId()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s->id = sVar3;" (assignment_expression "__s->id = sVar3" (field_expression "__s->id" identifier -> field_identifier) = identifier) ;) (expression_statement "FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand");" (call_expression "FormatLocaleString((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand")" identifier (argument_list "((double)sVar3,__s->name,0x1000,"%s-%.20g","DrawingWand")" ( (cast_expression "(double)sVar3" ( (type_descriptor "double" primitive_type) ) identifier) , (field_expression "__s->name" identifier -> field_identifier) , number_literal , (string_literal ""%s-%.20g"" " string_content ") , (string_literal ""DrawingWand"" " string_content ") ))) ;) (if_statement "if (__s->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }" if (parenthesized_expression "(__s->debug != MagickFalse)" ( (binary_expression "__s->debug != MagickFalse" (field_expression "__s->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);\n    }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s->name)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "__s->name" identifier -> field_identifier) ))) ;) })) (expression_statement "__s->mvg = (char *)0x0;" (assignment_expression "__s->mvg = (char *)0x0" (field_expression "__s->mvg" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__s->mvg_alloc = 0;" (assignment_expression "__s->mvg_alloc = 0" (field_expression "__s->mvg_alloc" identifier -> field_identifier) = number_literal) ;) (expression_statement "__s->mvg_length = 0;" (assignment_expression "__s->mvg_length = 0" (field_expression "__s->mvg_length" identifier -> field_identifier) = number_literal) ;) (expression_statement "__s->mvg_width = 0;" (assignment_expression "__s->mvg_width = 0" (field_expression "__s->mvg_width" identifier -> field_identifier) = number_literal) ;) (expression_statement "__s->pattern_id = (char *)0x0;" (assignment_expression "__s->pattern_id = (char *)0x0" (field_expression "__s->pattern_id" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "__s->pattern_offset = 0;" (assignment_expression "__s->pattern_offset = 0" (field_expression "__s->pattern_offset" identifier -> field_identifier) = number_literal) ;) (expression_statement "(__s->pattern_bounds).x = 0;" (assignment_expression "(__s->pattern_bounds).x = 0" (field_expression "(__s->pattern_bounds).x" (parenthesized_expression "(__s->pattern_bounds)" ( (field_expression "__s->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(__s->pattern_bounds).y = 0;" (assignment_expression "(__s->pattern_bounds).y = 0" (field_expression "(__s->pattern_bounds).y" (parenthesized_expression "(__s->pattern_bounds)" ( (field_expression "__s->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(__s->pattern_bounds).width = 0;" (assignment_expression "(__s->pattern_bounds).width = 0" (field_expression "(__s->pattern_bounds).width" (parenthesized_expression "(__s->pattern_bounds)" ( (field_expression "__s->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(__s->pattern_bounds).height = 0;" (assignment_expression "(__s->pattern_bounds).height = 0" (field_expression "(__s->pattern_bounds).height" (parenthesized_expression "(__s->pattern_bounds)" ( (field_expression "__s->pattern_bounds" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "__s->index = 0;" (assignment_expression "__s->index = 0" (field_expression "__s->index" identifier -> field_identifier) = number_literal) ;) (expression_statement "ppDVar4 = (DrawInfo **)AcquireMagickMemory(8);" (assignment_expression "ppDVar4 = (DrawInfo **)AcquireMagickMemory(8)" identifier = (cast_expression "(DrawInfo **)AcquireMagickMemory(8)" ( (type_descriptor "DrawInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "AcquireMagickMemory(8)" identifier (argument_list "(8)" ( number_literal ))))) ;) (expression_statement "__s->graphic_context = ppDVar4;" (assignment_expression "__s->graphic_context = ppDVar4" (field_expression "__s->graphic_context" identifier -> field_identifier) = identifier) ;) (if_statement "if (ppDVar4 != (DrawInfo **)0x0) {\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" if (parenthesized_expression "(ppDVar4 != (DrawInfo **)0x0)" ( (binary_expression "ppDVar4 != (DrawInfo **)0x0" identifier != (cast_expression "(DrawInfo **)0x0" ( (type_descriptor "DrawInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      __s->filter_off = MagickTrue;\n      __s->indent_depth = 0;\n      __s->path_operation = PathDefaultOperation;\n      __s->path_mode = DefaultPathMode;\n      pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();\n      __s->exception = pEVar5;\n      pIVar6 = (Image *)AcquireImage(0,pEVar5);\n      __s->image = pIVar6;\n      __s->destroy = MagickTrue;\n      MVar1 = IsEventLogging();\n      __s->debug = MVar1;\n      __s->signature = 0xabacadab;\n      sVar3 = __s->index;\n      ppDVar4 = __s->graphic_context;\n      pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);\n      ppDVar4[sVar3] = pDVar7;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    /* WARNING: Subroutine does not return */\n      __stack_chk_fail();\n    }" { (expression_statement "__s->filter_off = MagickTrue;" (assignment_expression "__s->filter_off = MagickTrue" (field_expression "__s->filter_off" identifier -> field_identifier) = identifier) ;) (expression_statement "__s->indent_depth = 0;" (assignment_expression "__s->indent_depth = 0" (field_expression "__s->indent_depth" identifier -> field_identifier) = number_literal) ;) (expression_statement "__s->path_operation = PathDefaultOperation;" (assignment_expression "__s->path_operation = PathDefaultOperation" (field_expression "__s->path_operation" identifier -> field_identifier) = identifier) ;) (expression_statement "__s->path_mode = DefaultPathMode;" (assignment_expression "__s->path_mode = DefaultPathMode" (field_expression "__s->path_mode" identifier -> field_identifier) = identifier) ;) (expression_statement "pEVar5 = (ExceptionInfo *)AcquireExceptionInfo();" (assignment_expression "pEVar5 = (ExceptionInfo *)AcquireExceptionInfo()" identifier = (cast_expression "(ExceptionInfo *)AcquireExceptionInfo()" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( ))))) ;) (expression_statement "__s->exception = pEVar5;" (assignment_expression "__s->exception = pEVar5" (field_expression "__s->exception" identifier -> field_identifier) = identifier) ;) (expression_statement "pIVar6 = (Image *)AcquireImage(0,pEVar5);" (assignment_expression "pIVar6 = (Image *)AcquireImage(0,pEVar5)" identifier = (cast_expression "(Image *)AcquireImage(0,pEVar5)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(0,pEVar5)" identifier (argument_list "(0,pEVar5)" ( number_literal , identifier ))))) ;) (expression_statement "__s->image = pIVar6;" (assignment_expression "__s->image = pIVar6" (field_expression "__s->image" identifier -> field_identifier) = identifier) ;) (expression_statement "__s->destroy = MagickTrue;" (assignment_expression "__s->destroy = MagickTrue" (field_expression "__s->destroy" identifier -> field_identifier) = identifier) ;) (expression_statement "MVar1 = IsEventLogging();" (assignment_expression "MVar1 = IsEventLogging()" identifier = (call_expression "IsEventLogging()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s->debug = MVar1;" (assignment_expression "__s->debug = MVar1" (field_expression "__s->debug" identifier -> field_identifier) = identifier) ;) (expression_statement "__s->signature = 0xabacadab;" (assignment_expression "__s->signature = 0xabacadab" (field_expression "__s->signature" identifier -> field_identifier) = number_literal) ;) (expression_statement "sVar3 = __s->index;" (assignment_expression "sVar3 = __s->index" identifier = (field_expression "__s->index" identifier -> field_identifier)) ;) (expression_statement "ppDVar4 = __s->graphic_context;" (assignment_expression "ppDVar4 = __s->graphic_context" identifier = (field_expression "__s->graphic_context" identifier -> field_identifier)) ;) (expression_statement "pDVar7 = (DrawInfo *)CloneDrawInfo(0,0);" (assignment_expression "pDVar7 = (DrawInfo *)CloneDrawInfo(0,0)" identifier = (cast_expression "(DrawInfo *)CloneDrawInfo(0,0)" ( (type_descriptor "DrawInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CloneDrawInfo(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))))) ;) (expression_statement "ppDVar4[sVar3] = pDVar7;" (assignment_expression "ppDVar4[sVar3] = pDVar7" (subscript_expression "ppDVar4[sVar3]" identifier [ identifier ]) = identifier) ;) (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }" if (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n        return __s;\n      }" { (return_statement "return __s;" return identifier ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = GetExceptionMessage(*piVar8);" (assignment_expression "uVar9 = GetExceptionMessage(*piVar8)" identifier = (call_expression "GetExceptionMessage(*piVar8)" identifier (argument_list "(*piVar8)" ( (pointer_expression "*piVar8" * identifier) )))) ;) (expression_statement "ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);" (call_expression "ThrowMagickException\n              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9)" identifier (argument_list "(uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar9)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar2);" (call_expression "CatchException(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "uVar2 = AcquireExceptionInfo();" (assignment_expression "uVar2 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = GetExceptionMessage(*piVar8);" (assignment_expression "uVar9 = GetExceptionMessage(*piVar8)" identifier = (call_expression "GetExceptionMessage(*piVar8)" identifier (argument_list "(*piVar8)" ( (pointer_expression "*piVar8" * identifier) )))) ;) (expression_statement "ThrowMagickException\n            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar9);" (call_expression "ThrowMagickException\n            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar9)" identifier (argument_list "(uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar9)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar2);" (call_expression "CatchException(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar2);" (call_expression "DestroyExceptionInfo(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "ulong * NewDrawingWand(void)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    \n  _exit(1);\n}\n\n" (function_definition "ulong * NewDrawingWand(void)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    \n  _exit(1);\n}" type_identifier (pointer_declarator "* NewDrawingWand(void)" * (function_declarator "NewDrawingWand(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    \n  _exit(1);\n}" { (declaration "ulong uVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "ulong *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_28;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_20;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = GetMagickQuantumDepth(&local_28);" (assignment_expression "uVar3 = GetMagickQuantumDepth(&local_28)" identifier = (call_expression "GetMagickQuantumDepth(&local_28)" identifier (argument_list "(&local_28)" ( (pointer_expression "&local_28" & identifier) )))) ;) (if_statement "if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }" if (parenthesized_expression "(local_28 != 0x10)" ( (binary_expression "local_28 != 0x10" identifier != number_literal) )) (compound_statement "{\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }" { (expression_statement "uVar6 = AcquireExceptionInfo();" (assignment_expression "uVar6 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);" (call_expression "ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3)" identifier (argument_list "(uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""QuantumDepthMismatch"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar6);" (call_expression "CatchException(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar6);" (call_expression "DestroyExceptionInfo(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) (expression_statement "_exit(-0xe5);" (call_expression "_exit(-0xe5)" identifier (argument_list "(-0xe5)" ( number_literal ))) ;) })) (expression_statement "__s = (ulong *)AcquireMagickMemory(0x10a0);" (assignment_expression "__s = (ulong *)AcquireMagickMemory(0x10a0)" identifier = (cast_expression "(ulong *)AcquireMagickMemory(0x10a0)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickMemory(0x10a0)" identifier (argument_list "(0x10a0)" ( number_literal ))))) ;) (if_statement "if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }" if (parenthesized_expression "(__s != (ulong *)0x0)" ( (binary_expression "__s != (ulong *)0x0" identifier != (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }" { (expression_statement "memset(__s,0,0x10a0);" (call_expression "memset(__s,0,0x10a0)" identifier (argument_list "(__s,0,0x10a0)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "uVar4 = AcquireWandId();" (assignment_expression "uVar4 = AcquireWandId()" identifier = (call_expression "AcquireWandId()" identifier (argument_list "()" ( )))) ;) (expression_statement "*__s = uVar4;" (assignment_expression "*__s = uVar4" (pointer_expression "*__s" * identifier) = identifier) ;) (expression_statement "FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");" (call_expression "FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand")" identifier (argument_list "((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand")" ( (cast_expression "(double)uVar4" ( (type_descriptor "double" primitive_type) ) identifier) , (binary_expression "__s + 1" identifier + number_literal) , number_literal , (string_literal ""%s-%.20g"" " string_content ") , (string_literal ""DrawingWand"" " string_content ") ))) ;) (if_statement "if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }" if (parenthesized_expression "(*(int *)((long)__s + 0x1094) != 0)" ( (binary_expression "*(int *)((long)__s + 0x1094) != 0" (pointer_expression "*(int *)((long)__s + 0x1094)" * (cast_expression "(int *)((long)__s + 0x1094)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + 0x1094)" ( (binary_expression "(long)__s + 0x1094" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (binary_expression "__s + 1" identifier + number_literal) ))) ;) })) (expression_statement "__s[0x203] = 0;" (assignment_expression "__s[0x203] = 0" (subscript_expression "__s[0x203]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x204] = 0;" (assignment_expression "__s[0x204] = 0" (subscript_expression "__s[0x204]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x205] = 0;" (assignment_expression "__s[0x205] = 0" (subscript_expression "__s[0x205]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x206] = 0;" (assignment_expression "__s[0x206] = 0" (subscript_expression "__s[0x206]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x207] = 0;" (assignment_expression "__s[0x207] = 0" (subscript_expression "__s[0x207]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20c] = 0;" (assignment_expression "__s[0x20c] = 0" (subscript_expression "__s[0x20c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20a] = 0;" (assignment_expression "__s[0x20a] = 0" (subscript_expression "__s[0x20a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20b] = 0;" (assignment_expression "__s[0x20b] = 0" (subscript_expression "__s[0x20b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x208] = 0;" (assignment_expression "__s[0x208] = 0" (subscript_expression "__s[0x208]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x209] = 0;" (assignment_expression "__s[0x209] = 0" (subscript_expression "__s[0x209]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s[0x20d] = 0;" (assignment_expression "__s[0x20d] = 0" (subscript_expression "__s[0x20d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar4 = AcquireMagickMemory(8);" (assignment_expression "uVar4 = AcquireMagickMemory(8)" identifier = (call_expression "AcquireMagickMemory(8)" identifier (argument_list "(8)" ( number_literal )))) ;) (expression_statement "__s[0x20e] = uVar4;" (assignment_expression "__s[0x20e] = uVar4" (subscript_expression "__s[0x20e]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }" { (expression_statement "*(undefined4 *)(__s + 0x20f) = 1;" (assignment_expression "*(undefined4 *)(__s + 0x20f) = 1" (pointer_expression "*(undefined4 *)(__s + 0x20f)" * (cast_expression "(undefined4 *)(__s + 0x20f)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__s + 0x20f)" ( (binary_expression "__s + 0x20f" identifier + number_literal) )))) = number_literal) ;) (expression_statement "__s[0x210] = 0;" (assignment_expression "__s[0x210] = 0" (subscript_expression "__s[0x210]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(__s + 0x211) = 0;" (assignment_expression "*(undefined4 *)(__s + 0x211) = 0" (pointer_expression "*(undefined4 *)(__s + 0x211)" * (cast_expression "(undefined4 *)(__s + 0x211)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__s + 0x211)" ( (binary_expression "__s + 0x211" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((long)__s + 0x108c) = 0;" (assignment_expression "*(undefined4 *)((long)__s + 0x108c) = 0" (pointer_expression "*(undefined4 *)((long)__s + 0x108c)" * (cast_expression "(undefined4 *)((long)__s + 0x108c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + 0x108c)" ( (binary_expression "(long)__s + 0x108c" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s[0x202] = uVar4;" (assignment_expression "__s[0x202] = uVar4" (subscript_expression "__s[0x202]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = AcquireImage(0,uVar4);" (assignment_expression "uVar4 = AcquireImage(0,uVar4)" identifier = (call_expression "AcquireImage(0,uVar4)" identifier (argument_list "(0,uVar4)" ( number_literal , identifier )))) ;) (expression_statement "__s[0x201] = uVar4;" (assignment_expression "__s[0x201] = uVar4" (subscript_expression "__s[0x201]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(__s + 0x212) = 1;" (assignment_expression "*(undefined4 *)(__s + 0x212) = 1" (pointer_expression "*(undefined4 *)(__s + 0x212)" * (cast_expression "(undefined4 *)(__s + 0x212)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__s + 0x212)" ( (binary_expression "__s + 0x212" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = IsEventLogging();" (assignment_expression "uVar2 = IsEventLogging()" identifier = (call_expression "IsEventLogging()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((long)__s + 0x1094) = uVar2;" (assignment_expression "*(undefined4 *)((long)__s + 0x1094) = uVar2" (pointer_expression "*(undefined4 *)((long)__s + 0x1094)" * (cast_expression "(undefined4 *)((long)__s + 0x1094)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + 0x1094)" ( (binary_expression "(long)__s + 0x1094" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "__s[0x213] = 0xabacadab;" (assignment_expression "__s[0x213] = 0xabacadab" (subscript_expression "__s[0x213]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar4 = __s[0x20d];" (assignment_expression "uVar4 = __s[0x20d]" identifier = (subscript_expression "__s[0x20d]" identifier [ number_literal ])) ;) (expression_statement "uVar1 = __s[0x20e];" (assignment_expression "uVar1 = __s[0x20e]" identifier = (subscript_expression "__s[0x20e]" identifier [ number_literal ])) ;) (expression_statement "uVar3 = CloneDrawInfo(0,0);" (assignment_expression "uVar3 = CloneDrawInfo(0,0)" identifier = (call_expression "CloneDrawInfo(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal )))) ;) (expression_statement "*(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;" (assignment_expression "*(undefined8 *)(uVar1 + uVar4 * 8) = uVar3" (pointer_expression "*(undefined8 *)(uVar1 + uVar4 * 8)" * (cast_expression "(undefined8 *)(uVar1 + uVar4 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar1 + uVar4 * 8)" ( (binary_expression "uVar1 + uVar4 * 8" identifier + (binary_expression "uVar4 * 8" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }" if (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_20 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n        return __s;\n      }" { (return_statement "return __s;" return identifier ;) })) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar3 = AcquireExceptionInfo();" (assignment_expression "uVar3 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);" (call_expression "ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6)" identifier (argument_list "(uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar3);" (call_expression "CatchException(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar3);" (call_expression "DestroyExceptionInfo(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })) (expression_statement "uVar3 = AcquireExceptionInfo();" (assignment_expression "uVar3 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);" (call_expression "ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6)" identifier (argument_list "(uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6)" ( identifier , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""NewDrawingWand"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (pointer_expression "&DAT_0020ca76" & identifier) , identifier ))) ;) (expression_statement "CatchException(uVar3);" (call_expression "CatchException(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar3);" (call_expression "DestroyExceptionInfo(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" identifier (argument_list "()" ( ))) ;) (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (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 , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (binary_expression IDENT + LIT) , LIT , (string_literal " string_content ") , (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression 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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))
(function_definition "ulong * NewDrawingWand(void)\n\n{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    \n  _exit(1);\n}" (type_identifier "ulong") (pointer_declarator "* NewDrawingWand(void)" (* "*") (function_declarator "NewDrawingWand(void)" (identifier "NewDrawingWand") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")")))) (compound_statement "{\n  ulong uVar1;\n  undefined4 uVar2;\n  undefined8 uVar3;\n  ulong *__s;\n  ulong uVar4;\n  int *piVar5;\n  undefined8 uVar6;\n  long in_FS_OFFSET;\n  long local_28;\n  long local_20;\n  \n  local_20 = *(long *)(in_FS_OFFSET + 0x28);\n  uVar3 = GetMagickQuantumDepth(&local_28);\n  if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }\n  __s = (ulong *)AcquireMagickMemory(0x10a0);\n  if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }\n  uVar3 = AcquireExceptionInfo();\n  piVar5 = __errno_location();\n  uVar6 = GetExceptionMessage(*piVar5);\n  ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);\n  CatchException(uVar3);\n  DestroyExceptionInfo(uVar3);\n  MagickWandTerminus();\n                    \n  _exit(1);\n}" ({ "{") (declaration "ulong uVar1;" (type_identifier "ulong") (identifier "uVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "ulong *__s;" (type_identifier "ulong") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "ulong uVar4;" (type_identifier "ulong") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "long local_28;" (sized_type_specifier "long" (long "long")) (identifier "local_28") (; ";")) (declaration "long local_20;" (sized_type_specifier "long" (long "long")) (identifier "local_20") (; ";")) (expression_statement "local_20 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_20 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_20") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar3 = GetMagickQuantumDepth(&local_28);" (assignment_expression "uVar3 = GetMagickQuantumDepth(&local_28)" (identifier "uVar3") (= "=") (call_expression "GetMagickQuantumDepth(&local_28)" (identifier "GetMagickQuantumDepth") (argument_list "(&local_28)" (( "(") (pointer_expression "&local_28" (& "&") (identifier "local_28")) () ")")))) (; ";")) (if_statement "if (local_28 != 0x10) {\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }" (if "if") (parenthesized_expression "(local_28 != 0x10)" (( "(") (binary_expression "local_28 != 0x10" (identifier "local_28") (!= "!=") (number_literal "0x10")) () ")")) (compound_statement "{\n    uVar6 = AcquireExceptionInfo();\n    ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);\n    CatchException(uVar6);\n    DestroyExceptionInfo(uVar6);\n    MagickWandTerminus();\n                    \n    _exit(-0xe5);\n  }" ({ "{") (expression_statement "uVar6 = AcquireExceptionInfo();" (assignment_expression "uVar6 = AcquireExceptionInfo()" (identifier "uVar6") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);" (call_expression "ThrowMagickException\n              (uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3)" (identifier "ThrowMagickException") (argument_list "(uVar6,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,\n               "QuantumDepthMismatch",&DAT_0020ca76,uVar3)" (( "(") (identifier "uVar6") (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (string_literal ""NewDrawingWand"" (" """) (string_content "NewDrawingWand") (" """)) (, ",") (number_literal "0x1a90") (, ",") (number_literal "0x1d6") (, ",") (string_literal ""QuantumDepthMismatch"" (" """) (string_content "QuantumDepthMismatch") (" """)) (, ",") (pointer_expression "&DAT_0020ca76" (& "&") (identifier "DAT_0020ca76")) (, ",") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "CatchException(uVar6);" (call_expression "CatchException(uVar6)" (identifier "CatchException") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "DestroyExceptionInfo(uVar6);" (call_expression "DestroyExceptionInfo(uVar6)" (identifier "DestroyExceptionInfo") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" (identifier "MagickWandTerminus") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "_exit(-0xe5);" (call_expression "_exit(-0xe5)" (identifier "_exit") (argument_list "(-0xe5)" (( "(") (number_literal "-0xe5") () ")"))) (; ";")) (} "}"))) (expression_statement "__s = (ulong *)AcquireMagickMemory(0x10a0);" (assignment_expression "__s = (ulong *)AcquireMagickMemory(0x10a0)" (identifier "__s") (= "=") (cast_expression "(ulong *)AcquireMagickMemory(0x10a0)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireMagickMemory(0x10a0)" (identifier "AcquireMagickMemory") (argument_list "(0x10a0)" (( "(") (number_literal "0x10a0") () ")"))))) (; ";")) (if_statement "if (__s != (ulong *)0x0) {\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }" (if "if") (parenthesized_expression "(__s != (ulong *)0x0)" (( "(") (binary_expression "__s != (ulong *)0x0" (identifier "__s") (!= "!=") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    memset(__s,0,0x10a0);\n    uVar4 = AcquireWandId();\n    *__s = uVar4;\n    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");\n    if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }\n    __s[0x203] = 0;\n    __s[0x204] = 0;\n    __s[0x205] = 0;\n    __s[0x206] = 0;\n    __s[0x207] = 0;\n    __s[0x20c] = 0;\n    __s[0x20a] = 0;\n    __s[0x20b] = 0;\n    __s[0x208] = 0;\n    __s[0x209] = 0;\n    __s[0x20d] = 0;\n    uVar4 = AcquireMagickMemory(8);\n    __s[0x20e] = uVar4;\n    if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }\n    uVar3 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);\n    CatchException(uVar3);\n    DestroyExceptionInfo(uVar3);\n    MagickWandTerminus();\n                    \n    _exit(1);\n  }" ({ "{") (expression_statement "memset(__s,0,0x10a0);" (call_expression "memset(__s,0,0x10a0)" (identifier "memset") (argument_list "(__s,0,0x10a0)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (number_literal "0x10a0") () ")"))) (; ";")) (expression_statement "uVar4 = AcquireWandId();" (assignment_expression "uVar4 = AcquireWandId()" (identifier "uVar4") (= "=") (call_expression "AcquireWandId()" (identifier "AcquireWandId") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*__s = uVar4;" (assignment_expression "*__s = uVar4" (pointer_expression "*__s" (* "*") (identifier "__s")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");" (call_expression "FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand")" (identifier "FormatLocaleString") (argument_list "((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand")" (( "(") (cast_expression "(double)uVar4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "uVar4")) (, ",") (binary_expression "__s + 1" (identifier "__s") (+ "+") (number_literal "1")) (, ",") (number_literal "0x1000") (, ",") (string_literal ""%s-%.20g"" (" """) (string_content "%s-%.20g") (" """)) (, ",") (string_literal ""DrawingWand"" (" """) (string_content "DrawingWand") (" """)) () ")"))) (; ";")) (if_statement "if (*(int *)((long)__s + 0x1094) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }" (if "if") (parenthesized_expression "(*(int *)((long)__s + 0x1094) != 0)" (( "(") (binary_expression "*(int *)((long)__s + 0x1094) != 0" (pointer_expression "*(int *)((long)__s + 0x1094)" (* "*") (cast_expression "(int *)((long)__s + 0x1094)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__s + 0x1094)" (( "(") (binary_expression "(long)__s + 0x1094" (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s")) (+ "+") (number_literal "0x1094")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);\n    }" ({ "{") (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1)" (identifier "LogMagickEvent") (argument_list "(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",__s + 1)" (( "(") (number_literal "0x40000") (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (string_literal ""NewDrawingWand"" (" """) (string_content "NewDrawingWand") (" """)) (, ",") (number_literal "0x1a9a") (, ",") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (binary_expression "__s + 1" (identifier "__s") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (expression_statement "__s[0x203] = 0;" (assignment_expression "__s[0x203] = 0" (subscript_expression "__s[0x203]" (identifier "__s") ([ "[") (number_literal "0x203") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x204] = 0;" (assignment_expression "__s[0x204] = 0" (subscript_expression "__s[0x204]" (identifier "__s") ([ "[") (number_literal "0x204") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x205] = 0;" (assignment_expression "__s[0x205] = 0" (subscript_expression "__s[0x205]" (identifier "__s") ([ "[") (number_literal "0x205") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x206] = 0;" (assignment_expression "__s[0x206] = 0" (subscript_expression "__s[0x206]" (identifier "__s") ([ "[") (number_literal "0x206") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x207] = 0;" (assignment_expression "__s[0x207] = 0" (subscript_expression "__s[0x207]" (identifier "__s") ([ "[") (number_literal "0x207") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x20c] = 0;" (assignment_expression "__s[0x20c] = 0" (subscript_expression "__s[0x20c]" (identifier "__s") ([ "[") (number_literal "0x20c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x20a] = 0;" (assignment_expression "__s[0x20a] = 0" (subscript_expression "__s[0x20a]" (identifier "__s") ([ "[") (number_literal "0x20a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x20b] = 0;" (assignment_expression "__s[0x20b] = 0" (subscript_expression "__s[0x20b]" (identifier "__s") ([ "[") (number_literal "0x20b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x208] = 0;" (assignment_expression "__s[0x208] = 0" (subscript_expression "__s[0x208]" (identifier "__s") ([ "[") (number_literal "0x208") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x209] = 0;" (assignment_expression "__s[0x209] = 0" (subscript_expression "__s[0x209]" (identifier "__s") ([ "[") (number_literal "0x209") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s[0x20d] = 0;" (assignment_expression "__s[0x20d] = 0" (subscript_expression "__s[0x20d]" (identifier "__s") ([ "[") (number_literal "0x20d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = AcquireMagickMemory(8);" (assignment_expression "uVar4 = AcquireMagickMemory(8)" (identifier "uVar4") (= "=") (call_expression "AcquireMagickMemory(8)" (identifier "AcquireMagickMemory") (argument_list "(8)" (( "(") (number_literal "8") () ")")))) (; ";")) (expression_statement "__s[0x20e] = uVar4;" (assignment_expression "__s[0x20e] = uVar4" (subscript_expression "__s[0x20e]" (identifier "__s") ([ "[") (number_literal "0x20e") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (uVar4 != 0) {\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }" (if "if") (parenthesized_expression "(uVar4 != 0)" (( "(") (binary_expression "uVar4 != 0" (identifier "uVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(__s + 0x20f) = 1;\n      __s[0x210] = 0;\n      *(undefined4 *)(__s + 0x211) = 0;\n      *(undefined4 *)((long)__s + 0x108c) = 0;\n      uVar4 = AcquireExceptionInfo();\n      __s[0x202] = uVar4;\n      uVar4 = AcquireImage(0,uVar4);\n      __s[0x201] = uVar4;\n      *(undefined4 *)(__s + 0x212) = 1;\n      uVar2 = IsEventLogging();\n      *(undefined4 *)((long)__s + 0x1094) = uVar2;\n      __s[0x213] = 0xabacadab;\n      uVar4 = __s[0x20d];\n      uVar1 = __s[0x20e];\n      uVar3 = CloneDrawInfo(0,0);\n      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;\n      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }\n                    \n      __stack_chk_fail();\n    }" ({ "{") (expression_statement "*(undefined4 *)(__s + 0x20f) = 1;" (assignment_expression "*(undefined4 *)(__s + 0x20f) = 1" (pointer_expression "*(undefined4 *)(__s + 0x20f)" (* "*") (cast_expression "(undefined4 *)(__s + 0x20f)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__s + 0x20f)" (( "(") (binary_expression "__s + 0x20f" (identifier "__s") (+ "+") (number_literal "0x20f")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "__s[0x210] = 0;" (assignment_expression "__s[0x210] = 0" (subscript_expression "__s[0x210]" (identifier "__s") ([ "[") (number_literal "0x210") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(__s + 0x211) = 0;" (assignment_expression "*(undefined4 *)(__s + 0x211) = 0" (pointer_expression "*(undefined4 *)(__s + 0x211)" (* "*") (cast_expression "(undefined4 *)(__s + 0x211)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__s + 0x211)" (( "(") (binary_expression "__s + 0x211" (identifier "__s") (+ "+") (number_literal "0x211")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((long)__s + 0x108c) = 0;" (assignment_expression "*(undefined4 *)((long)__s + 0x108c) = 0" (pointer_expression "*(undefined4 *)((long)__s + 0x108c)" (* "*") (cast_expression "(undefined4 *)((long)__s + 0x108c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__s + 0x108c)" (( "(") (binary_expression "(long)__s + 0x108c" (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s")) (+ "+") (number_literal "0x108c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__s[0x202] = uVar4;" (assignment_expression "__s[0x202] = uVar4" (subscript_expression "__s[0x202]" (identifier "__s") ([ "[") (number_literal "0x202") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = AcquireImage(0,uVar4);" (assignment_expression "uVar4 = AcquireImage(0,uVar4)" (identifier "uVar4") (= "=") (call_expression "AcquireImage(0,uVar4)" (identifier "AcquireImage") (argument_list "(0,uVar4)" (( "(") (number_literal "0") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "__s[0x201] = uVar4;" (assignment_expression "__s[0x201] = uVar4" (subscript_expression "__s[0x201]" (identifier "__s") ([ "[") (number_literal "0x201") (] "]")) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(__s + 0x212) = 1;" (assignment_expression "*(undefined4 *)(__s + 0x212) = 1" (pointer_expression "*(undefined4 *)(__s + 0x212)" (* "*") (cast_expression "(undefined4 *)(__s + 0x212)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__s + 0x212)" (( "(") (binary_expression "__s + 0x212" (identifier "__s") (+ "+") (number_literal "0x212")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = IsEventLogging();" (assignment_expression "uVar2 = IsEventLogging()" (identifier "uVar2") (= "=") (call_expression "IsEventLogging()" (identifier "IsEventLogging") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((long)__s + 0x1094) = uVar2;" (assignment_expression "*(undefined4 *)((long)__s + 0x1094) = uVar2" (pointer_expression "*(undefined4 *)((long)__s + 0x1094)" (* "*") (cast_expression "(undefined4 *)((long)__s + 0x1094)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__s + 0x1094)" (( "(") (binary_expression "(long)__s + 0x1094" (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s")) (+ "+") (number_literal "0x1094")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "__s[0x213] = 0xabacadab;" (assignment_expression "__s[0x213] = 0xabacadab" (subscript_expression "__s[0x213]" (identifier "__s") ([ "[") (number_literal "0x213") (] "]")) (= "=") (number_literal "0xabacadab")) (; ";")) (expression_statement "uVar4 = __s[0x20d];" (assignment_expression "uVar4 = __s[0x20d]" (identifier "uVar4") (= "=") (subscript_expression "__s[0x20d]" (identifier "__s") ([ "[") (number_literal "0x20d") (] "]"))) (; ";")) (expression_statement "uVar1 = __s[0x20e];" (assignment_expression "uVar1 = __s[0x20e]" (identifier "uVar1") (= "=") (subscript_expression "__s[0x20e]" (identifier "__s") ([ "[") (number_literal "0x20e") (] "]"))) (; ";")) (expression_statement "uVar3 = CloneDrawInfo(0,0);" (assignment_expression "uVar3 = CloneDrawInfo(0,0)" (identifier "uVar3") (= "=") (call_expression "CloneDrawInfo(0,0)" (identifier "CloneDrawInfo") (argument_list "(0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;" (assignment_expression "*(undefined8 *)(uVar1 + uVar4 * 8) = uVar3" (pointer_expression "*(undefined8 *)(uVar1 + uVar4 * 8)" (* "*") (cast_expression "(undefined8 *)(uVar1 + uVar4 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar1 + uVar4 * 8)" (( "(") (binary_expression "uVar1 + uVar4 * 8" (identifier "uVar1") (+ "+") (binary_expression "uVar4 * 8" (identifier "uVar4") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {\n        return __s;\n      }" (if "if") (parenthesized_expression "(local_20 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_20 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_20") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n        return __s;\n      }" ({ "{") (return_statement "return __s;" (return "return") (identifier "__s") (; ";")) (} "}"))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar3 = AcquireExceptionInfo();" (assignment_expression "uVar3 = AcquireExceptionInfo()" (identifier "uVar3") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" (identifier "uVar6") (= "=") (call_expression "GetExceptionMessage(*piVar5)" (identifier "GetExceptionMessage") (argument_list "(*piVar5)" (( "(") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);" (call_expression "ThrowMagickException\n              (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6)" (identifier "ThrowMagickException") (argument_list "(uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,\n               "MemoryAllocationFailed",&DAT_0020ca76,uVar6)" (( "(") (identifier "uVar3") (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (string_literal ""NewDrawingWand"" (" """) (string_content "NewDrawingWand") (" """)) (, ",") (number_literal "0x1aaa") (, ",") (number_literal "700") (, ",") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """)) (, ",") (pointer_expression "&DAT_0020ca76" (& "&") (identifier "DAT_0020ca76")) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "CatchException(uVar3);" (call_expression "CatchException(uVar3)" (identifier "CatchException") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "DestroyExceptionInfo(uVar3);" (call_expression "DestroyExceptionInfo(uVar3)" (identifier "DestroyExceptionInfo") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" (identifier "MagickWandTerminus") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "_exit(1);" (call_expression "_exit(1)" (identifier "_exit") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar3 = AcquireExceptionInfo();" (assignment_expression "uVar3 = AcquireExceptionInfo()" (identifier "uVar3") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" (identifier "uVar6") (= "=") (call_expression "GetExceptionMessage(*piVar5)" (identifier "GetExceptionMessage") (argument_list "(*piVar5)" (( "(") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6);" (call_expression "ThrowMagickException\n            (uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6)" (identifier "ThrowMagickException") (argument_list "(uVar3,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",\n             &DAT_0020ca76,uVar6)" (( "(") (identifier "uVar3") (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (string_literal ""NewDrawingWand"" (" """) (string_content "NewDrawingWand") (" """)) (, ",") (number_literal "0x1a94") (, ",") (number_literal "700") (, ",") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """)) (, ",") (pointer_expression "&DAT_0020ca76" (& "&") (identifier "DAT_0020ca76")) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "CatchException(uVar3);" (call_expression "CatchException(uVar3)" (identifier "CatchException") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "DestroyExceptionInfo(uVar3);" (call_expression "DestroyExceptionInfo(uVar3)" (identifier "DestroyExceptionInfo") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (expression_statement "MagickWandTerminus();" (call_expression "MagickWandTerminus()" (identifier "MagickWandTerminus") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "_exit(1);" (call_expression "_exit(1)" (identifier "_exit") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}")))

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

type_1 * function_1(void)

{
  type_2 MVar1;
  type_3 uVar2;
  type_1 *var_11;
  size_t sVar3;
  type_4 **var_17;
  type_5 *pEVar5;
  type_6 *pIVar6;
  type_4 *pDVar7;
  int *piVar8;
  type_3 uVar9;
  long var_1;
  size_t var_3;
  long var_21;
  
  var_21 = *(long *)(var_1 + 0x28);
  uVar2 = var_2(&var_3);
  if (var_3 != 0x10) {
    uVar9 = var_4();
    var_5
              (uVar9,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a90,0x1d6,
               "QuantumDepthMismatch",&DAT_0020ca76,uVar2);
    var_6(uVar9);
    var_7(uVar9);
    var_8();
                    /* WARNING: Subroutine does not return */
    var_9(-0xe5);
  }
  var_11 = (type_1 *)var_10(0x10a0);
  if (var_11 != (type_1 *)0x0) {
    var_12(var_11,0,0x10a0);
    sVar3 = var_13();
    var_11->id = sVar3;
    var_14((double)sVar3,var_11->name,0x1000,"%s-%.20g","DrawingWand");
    if (var_11->debug != var_15) {
      var_16(0x40000,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a9a,"%s",var_11->name);
    }
    var_11->mvg = (char *)0x0;
    var_11->mvg_alloc = 0;
    var_11->mvg_length = 0;
    var_11->mvg_width = 0;
    var_11->pattern_id = (char *)0x0;
    var_11->pattern_offset = 0;
    (var_11->pattern_bounds).x = 0;
    (var_11->pattern_bounds).y = 0;
    (var_11->pattern_bounds).width = 0;
    (var_11->pattern_bounds).height = 0;
    var_11->index = 0;
    var_17 = (type_4 **)var_10(8);
    var_11->graphic_context = var_17;
    if (var_17 != (type_4 **)0x0) {
      var_11->filter_off = MagickTrue;
      var_11->indent_depth = 0;
      var_11->path_operation = PathDefaultOperation;
      var_11->path_mode = DefaultPathMode;
      pEVar5 = (type_5 *)var_4();
      var_11->exception = pEVar5;
      pIVar6 = (type_6 *)var_18(0,pEVar5);
      var_11->image = pIVar6;
      var_11->destroy = MagickTrue;
      MVar1 = var_19();
      var_11->debug = MVar1;
      var_11->signature = 0xabacadab;
      sVar3 = var_11->index;
      var_17 = var_11->graphic_context;
      pDVar7 = (type_4 *)var_20(0,0);
      var_17[sVar3] = pDVar7;
      if (var_21 == *(long *)(var_1 + 0x28)) {
        return var_11;
      }
                    /* WARNING: Subroutine does not return */
      var_22();
    }
    uVar2 = var_4();
    piVar8 = var_23();
    uVar9 = var_24(*piVar8);
    var_5
              (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1aaa,700,
               "MemoryAllocationFailed",&DAT_0020ca76,uVar9);
    var_6(uVar2);
    var_7(uVar2);
    var_8();
                    /* WARNING: Subroutine does not return */
    var_9(1);
  }
  uVar2 = var_4();
  piVar8 = var_23();
  uVar9 = var_24(*piVar8);
  var_5
            (uVar2,"MagickWand/drawing-wand.c","NewDrawingWand",0x1a94,700,"MemoryAllocationFailed",
             &DAT_0020ca76,uVar9);
  var_6(uVar2);
  var_7(uVar2);
  var_8();
                    /* WARNING: Subroutine does not return */
  var_9(1);
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)) (number_literal) (number_literal) (string_literal (string_content)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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 (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (string_literal (string_content)) (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: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (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) (string_literal (string_content)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (sized_type_specifier)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (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: (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)) (number_literal) (number_literal) (string_literal (string_content)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal (string_content)) (string_literal (string_content)) (number_literal) (number_literal) (string_literal (string_content)) (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal)))))))

ulong * MASKED(void)

{
  ulong uVar1;
  undefined4 uVar2;
  undefined8 uVar3;
  ulong *__s;
  ulong uVar4;
  int *piVar5;
  undefined8 uVar6;
  long in_FS_OFFSET;
  long local_28;
  long local_20;
  
  local_20 = *(long *)(in_FS_OFFSET + 0x28);
  uVar3 = GetMagickQuantumDepth(&local_28);
  if (local_28 != 0x10) {
    uVar6 = AcquireExceptionInfo();
    ThrowMagickException
              (uVar6,"MagickWand/drawing-wand.c","MASKED",0x1a90,0x1d6,
               "QuantumDepthMismatch",&DAT_0020ca76,uVar3);
    CatchException(uVar6);
    DestroyExceptionInfo(uVar6);
    MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
    _exit(-0xe5);
  }
  __s = (ulong *)AcquireMagickMemory(0x10a0);
  if (__s != (ulong *)0x0) {
    memset(__s,0,0x10a0);
    uVar4 = AcquireWandId();
    *__s = uVar4;
    FormatLocaleString((double)uVar4,__s + 1,0x1000,"%s-%.20g","DrawingWand");
    if (*(int *)((long)__s + 0x1094) != 0) {
      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","MASKED",0x1a9a,"%s",__s + 1);
    }
    __s[0x203] = 0;
    __s[0x204] = 0;
    __s[0x205] = 0;
    __s[0x206] = 0;
    __s[0x207] = 0;
    __s[0x20c] = 0;
    __s[0x20a] = 0;
    __s[0x20b] = 0;
    __s[0x208] = 0;
    __s[0x209] = 0;
    __s[0x20d] = 0;
    uVar4 = AcquireMagickMemory(8);
    __s[0x20e] = uVar4;
    if (uVar4 != 0) {
      *(undefined4 *)(__s + 0x20f) = 1;
      __s[0x210] = 0;
      *(undefined4 *)(__s + 0x211) = 0;
      *(undefined4 *)((long)__s + 0x108c) = 0;
      uVar4 = AcquireExceptionInfo();
      __s[0x202] = uVar4;
      uVar4 = AcquireImage(0,uVar4);
      __s[0x201] = uVar4;
      *(undefined4 *)(__s + 0x212) = 1;
      uVar2 = IsEventLogging();
      *(undefined4 *)((long)__s + 0x1094) = uVar2;
      __s[0x213] = 0xabacadab;
      uVar4 = __s[0x20d];
      uVar1 = __s[0x20e];
      uVar3 = CloneDrawInfo(0,0);
      *(undefined8 *)(uVar1 + uVar4 * 8) = uVar3;
      if (local_20 == *(long *)(in_FS_OFFSET + 0x28)) {
        return __s;
      }
                    /* WARNING: Subroutine does not return */
      __stack_chk_fail();
    }
    uVar3 = AcquireExceptionInfo();
    piVar5 = __errno_location();
    uVar6 = GetExceptionMessage(*piVar5);
    ThrowMagickException
              (uVar3,"MagickWand/drawing-wand.c","MASKED",0x1aaa,700,
               "MemoryAllocationFailed",&DAT_0020ca76,uVar6);
    CatchException(uVar3);
    DestroyExceptionInfo(uVar3);
    MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
    _exit(1);
  }
  uVar3 = AcquireExceptionInfo();
  piVar5 = __errno_location();
  uVar6 = GetExceptionMessage(*piVar5);
  ThrowMagickException
            (uVar3,"MagickWand/drawing-wand.c","MASKED",0x1a94,700,"MemoryAllocationFailed",
             &DAT_0020ca76,uVar6);
  CatchException(uVar3);
  DestroyExceptionInfo(uVar3);
  MagickWandTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}

