
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

Image * __regparm3 RenderSVGImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)

{
  int iVar1;
  double dVar2;
  DelegateInfo *delegate_info;
  char *string;
  char *format;
  int iVar3;
  ImageInfo *image_info_00;
  Image *images;
  Image *images_00;
  int in_GS_OFFSET;
  ushort in_FPUControlWord;
  ushort __cw;
  stat attributes;
  char background [4096];
  char command [4096];
  char input_filename [4096];
  char opacity [4096];
  char output_filename [4096];
  char unique [4096];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  delegate_info = GetDelegateInfo("svg:decode",(char *)0x0,exception);
  if (delegate_info == (DelegateInfo *)0x0) {
    images = (Image *)0x0;
  }
  else {
    AcquireUniqueSymbolicLink(image->filename,input_filename);
    AcquireUniqueFilename(unique);
    FormatLocaleString(output_filename,0x1000,"%s.png",unique);
    AcquireUniqueFilename(unique);
    string = AcquireString("");
    dVar2 = (image->resolution).x * (image->resolution).y;
    if (dVar2 < 0.0) {
      sqrt(dVar2);
    }
    attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;
    FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),
                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));
    dVar2 = (image->background_color).blue * DAT_002a8010;
    FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",
                       DAT_002a8010 * (image->background_color).red,
                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),
                       (int)((ulonglong)dVar2 >> 0x20));
    dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;
    FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));
    format = GetDelegateCommands(delegate_info);
    FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,
                       opacity,unique);
    DestroyString(string);
    iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);
    RelinquishUniqueFileResource(unique);
    RelinquishUniqueFileResource(input_filename);
    if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))
        && (-1 < attributes.st_size._4_4_)) &&
       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {
      image_info_00 = CloneImageInfo(image_info);
      CopyMagickString(image_info_00->filename,output_filename,0x1000);
      images = ReadImage(image_info_00,exception);
      DestroyImageInfo(image_info_00);
      if (images != (Image *)0x0) {
        RelinquishUniqueFileResource(output_filename);
        images_00 = GetFirstImageInList(images);
        if (images_00 != (Image *)0x0) {
          do {
            CopyMagickString(images_00->filename,image->filename,0x1000);
            CopyMagickString(images_00->magick,image->magick,0x1000);
            images_00 = GetNextImageInList(images_00);
          } while (images_00 != (Image *)0x0);
        }
        goto LAB_0027a89f;
      }
    }
    images = (Image *)0x0;
    RelinquishUniqueFileResource(output_filename);
  }
LAB_0027a89f:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return images;
}



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

int __regparm3 FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)

{
  double __x;
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  int iVar4;
  int in_GS_OFFSET;
  ushort in_FPUControlWord;
  stat64 local_6080;
  undefined1 local_6020 [4096];
  undefined1 local_5020 [4096];
  undefined1 local_4020 [4096];
  undefined1 local_3020 [4096];
  char local_2020 [4096];
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x27a5ab;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar1 = GetDelegateInfo("svg:decode",0,param_3);
  if (iVar1 == 0) {
    iVar1 = 0;
  }
  else {
    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);
    AcquireUniqueFilename(local_1020);
    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);
    AcquireUniqueFilename(local_1020);
    uVar2 = AcquireString(&DAT_0030570a);
    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);
    if (__x < 0.0) {
      sqrt(__x);
    }
    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;
    FormatLocaleString();
    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",
                       DAT_002a8010 * *(double *)(param_2 + 0x9c),
                       *(double *)(param_2 + 0xa4) * DAT_002a8010,
                       *(double *)(param_2 + 0xac) * DAT_002a8010);
    FormatLocaleString();
    uVar3 = GetDelegateCommands(iVar1);
    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,
                       local_1020);
    DestroyString(uVar2);
    iVar1 = ExternalDelegateCommand();
    RelinquishUniqueFileResource(local_1020);
    RelinquishUniqueFileResource(local_4020);
    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&
        (-1 < local_6080.st_size._4_4_)) &&
       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {
      iVar4 = CloneImageInfo(param_1);
      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);
      iVar1 = ReadImage(iVar4,param_3);
      DestroyImageInfo(iVar4);
      if (iVar1 != 0) {
        RelinquishUniqueFileResource(local_2020);
        iVar4 = GetFirstImageInList(iVar1);
        if (iVar4 != 0) {
          do {
            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);
            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);
            iVar4 = GetNextImageInList(iVar4);
          } while (iVar4 != 0);
        }
        goto LAB_0027a89f;
      }
    }
    iVar1 = 0;
    RelinquishUniqueFileResource(local_2020);
  }
LAB_0027a89f:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return iVar1;
}


PUSH EBP
PUSH EDI
PUSH ESI
MOV ESI,EDX
PUSH EBX
CALL 0x00038830
ADD EBX,0x15ea55
SUB ESP,0x60b0
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x60a0],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x14],ECX
PUSH ECX
PUSH 0x0
LEA EAX,[EBX + 0xfff34979]
PUSH EAX
CALL 0x000320c0
MOV dword ptr [ESP + 0x24],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0027a8e8
LEA EAX,[ESI + 0x318]
SUB ESP,0x8
MOV dword ptr [ESP + 0x2c],EAX
LEA EDX,[ESP + 0x20a4]
MOV dword ptr [ESP + 0x10],EDX
PUSH EDX
PUSH EAX
CALL 0x00032d60
POP EBP
LEA EDI,[ESP + 0x50a8]
PUSH EDI
CALL 0x000339c0
LEA EAX,[EBX + 0xfff004f5]
ADD ESP,0x10
PUSH EDI
PUSH EAX
PUSH 0x1000
LEA EAX,[ESP + 0x40a8]
MOV dword ptr [ESP + 0x10],EAX
PUSH EAX
CALL 0x000334e0
MOV dword ptr [ESP],EDI
CALL 0x000339c0
LEA EAX,[EBX + 0xfff2c70a]
MOV dword ptr [ESP],EAX
CALL 0x00030c00
FLD qword ptr [ESI + 0x1f0]
ADD ESP,0x10
FMUL qword ptr [ESI + 0x1f8]
MOV EBP,EAX
FLD ST0
FSQRT
FLDZ
FUCOMIP ST0,ST2
JA 0x0027a8ec
FSTP ST1
FSUB dword ptr [EBX + 0xffec6124]
FNSTCW word ptr [ESP + 0x3a]
MOVZX EAX,word ptr [ESP + 0x3a]
AND EAX,0xf3ff
OR EAX,0x800
MOV word ptr [ESP + 0x3c],AX
FLDCW word ptr [ESP + 0x3c]
FRNDINT
FLDCW word ptr [ESP + 0x3a]
LEA ECX,[EBX + 0xfff0390f]
SUB ESP,0x14
FSTP qword ptr [ESP + 0x3c]
FLD qword ptr [ESP + 0x3c]
FSTP qword ptr [ESP]
PUSH ECX
MOV dword ptr [ESP + 0x30],ECX
PUSH 0x1000
PUSH EBP
CALL 0x000334e0
FLD qword ptr [EBX + 0xffecf010]
SUB ESP,0x4
FLD qword ptr [ESI + 0xac]
LEA EAX,[EBX + 0xfff34984]
FMUL ST1
FSTP qword ptr [ESP + 0x10]
FLD qword ptr [ESI + 0xa4]
FMUL ST1
FSTP qword ptr [ESP + 0x8]
FMUL qword ptr [ESI + 0x9c]
FSTP qword ptr [ESP]
PUSH EAX
PUSH 0x1000
LEA EDX,[ESP + 0xc8]
PUSH EDX
MOV dword ptr [ESP + 0x50],EDX
CALL 0x000334e0
FLD qword ptr [EBX + 0xffec6148]
ADD ESP,0x1c
FMUL qword ptr [ESI + 0xbc]
MOV ECX,dword ptr [ESP + 0x2c]
FSUB qword ptr [EBX + 0xffec6138]
FSTP qword ptr [ESP]
PUSH ECX
PUSH 0x1000
LEA ECX,[ESP + 0x30b8]
PUSH ECX
MOV dword ptr [ESP + 0x38],ECX
CALL 0x000334e0
ADD ESP,0x14
PUSH dword ptr [ESP + 0x20]
CALL 0x00031570
MOV ECX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP],EDI
PUSH ECX
MOV EDX,dword ptr [ESP + 0x34]
PUSH EDX
PUSH EBP
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x28]
PUSH EAX
PUSH 0x1000
LEA EDX,[ESP + 0x10c8]
PUSH EDX
MOV dword ptr [ESP + 0x44],EDX
CALL 0x000334e0
ADD ESP,0x24
PUSH EBP
CALL 0x00032950
POP ECX
PUSH dword ptr [ESP + 0x1c]
PUSH 0x0
MOV EDX,dword ptr [ESP + 0x28]
PUSH EDX
MOV EAX,dword ptr [ESP + 0x24]
PUSH dword ptr [EAX + 0x1c0]
PUSH 0x0
CALL 0x00030820
ADD ESP,0x14
PUSH EDI
MOV EBP,EAX
CALL 0x00032c90
POP EDI
PUSH dword ptr [ESP + 0x14]
CALL 0x00032c90
ADD ESP,0x10
TEST EBP,EBP
JNZ 0x0027a8d0
SUB ESP,0x4
LEA EAX,[ESP + 0x40]
PUSH EAX
PUSH dword ptr [ESP + 0xc]
PUSH 0x3
CALL 0x00030d10
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0027a8d0
CMP dword ptr [ESP + 0x6c],0x0
JL 0x0027a8d0
JLE 0x0027a8c0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x18]
CALL 0x000324c0
ADD ESP,0xc
MOV EBP,EAX
PUSH 0x1000
PUSH dword ptr [ESP + 0xc]
LEA EAX,[EAX + 0x21f0]
PUSH EAX
CALL 0x00030b70
POP EAX
POP EDX
PUSH dword ptr [ESP + 0x18]
PUSH EBP
CALL 0x00032eb0
MOV dword ptr [ESP],EBP
MOV EDI,EAX
CALL 0x00031450
ADD ESP,0x10
TEST EDI,EDI
JZ 0x0027a8d0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x10]
CALL 0x00032c90
MOV dword ptr [ESP],EDI
CALL 0x00031a70
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0027a89f
ADD ESI,0x2318
MOV dword ptr [ESP + 0x4],EDI
MOV EDI,EAX
MOV EBP,ESI
MOV ESI,dword ptr [ESP + 0x24]
LEA ESI,[ESI]
LEA EAX,[EDI + 0x318]
SUB ESP,0x4
PUSH 0x1000
PUSH ESI
PUSH EAX
CALL 0x00030b70
LEA EAX,[EDI + 0x2318]
ADD ESP,0xc
PUSH 0x1000
PUSH EBP
PUSH EAX
CALL 0x00030b70
MOV dword ptr [ESP],EDI
CALL 0x000319e0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JNZ 0x0027a860
MOV EDI,dword ptr [ESP + 0x4]
MOV ESI,dword ptr [ESP + 0x609c]
XOR ESI,dword ptr GS:[0x14]
MOV EAX,EDI
JNZ 0x0027a909
ADD ESP,0x60ac
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP dword ptr [ESP + 0x68],0x0
JA 0x0027a7e5
NOP
LEA ESI,[ESI]
SUB ESP,0xc
XOR EDI,EDI
PUSH dword ptr [ESP + 0x10]
CALL 0x00032c90
ADD ESP,0x10
JMP 0x0027a89f
XOR EDI,EDI
JMP 0x0027a89f
FSTP qword ptr [ESP + 0x18]
SUB ESP,0x10
FSTP qword ptr [ESP]
CALL 0x000319a0
FSTP ST0
ADD ESP,0x10
FLD qword ptr [ESP + 0x18]
JMP 0x0027a671
CALL 0x0029eab0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint __regparm3 FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return iVar1;\n}\n\n" comment (function_definition "int __regparm3 FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return iVar1;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return iVar1;\n}" { (declaration "double __x;" primitive_type identifier ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "ushort in_FPUControlWord;" type_identifier identifier ;) (declaration "stat64 local_6080;" type_identifier identifier ;) (declaration "undefined1 local_6020 [4096];" type_identifier (array_declarator "local_6020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_5020 [4096];" type_identifier (array_declarator "local_5020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_4020 [4096];" type_identifier (array_declarator "local_4020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_3020 [4096];" type_identifier (array_declarator "local_3020 [4096]" identifier [ number_literal ]) ;) (declaration "char local_2020 [4096];" primitive_type (array_declarator "local_2020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1020 [4096];" type_identifier (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x27a5ab;" (assignment_expression "uStack_14 = 0x27a5ab" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = GetDelegateInfo("svg:decode",0,param_3);" (assignment_expression "iVar1 = GetDelegateInfo("svg:decode",0,param_3)" identifier = (call_expression "GetDelegateInfo("svg:decode",0,param_3)" identifier (argument_list "("svg:decode",0,param_3)" ( (string_literal ""svg:decode"" " string_content ") , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = 0;\n  }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" else (compound_statement "{\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" { (expression_statement "AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);" (call_expression "AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020)" identifier (argument_list "(param_2 + 0x318,local_4020)" ( (binary_expression "param_2 + 0x318" identifier + number_literal) , identifier ))) ;) (expression_statement "AcquireUniqueFilename(local_1020);" (call_expression "AcquireUniqueFilename(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);" (call_expression "FormatLocaleString(local_2020,0x1000,"%s.png",local_1020)" identifier (argument_list "(local_2020,0x1000,"%s.png",local_1020)" ( identifier , number_literal , (string_literal ""%s.png"" " string_content ") , identifier ))) ;) (expression_statement "AcquireUniqueFilename(local_1020);" (call_expression "AcquireUniqueFilename(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "uVar2 = AcquireString(&DAT_0030570a);" (assignment_expression "uVar2 = AcquireString(&DAT_0030570a)" identifier = (call_expression "AcquireString(&DAT_0030570a)" identifier (argument_list "(&DAT_0030570a)" ( (pointer_expression "&DAT_0030570a" & identifier) )))) ;) (expression_statement "__x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);" (assignment_expression "__x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8)" identifier = (binary_expression "*(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8)" (pointer_expression "*(double *)(param_2 + 0x1f0)" * (cast_expression "(double *)(param_2 + 0x1f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1f0)" ( (binary_expression "param_2 + 0x1f0" identifier + number_literal) )))) * (pointer_expression "*(double *)(param_2 + 0x1f8)" * (cast_expression "(double *)(param_2 + 0x1f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1f8)" ( (binary_expression "param_2 + 0x1f8" identifier + number_literal) )))))) ;) (if_statement "if (__x < 0.0) {\n      sqrt(__x);\n    }" if (parenthesized_expression "(__x < 0.0)" ( (binary_expression "__x < 0.0" identifier < number_literal) )) (compound_statement "{\n      sqrt(__x);\n    }" { (expression_statement "sqrt(__x);" (call_expression "sqrt(__x)" identifier (argument_list "(__x)" ( identifier ))) ;) })) (expression_statement "local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;" (assignment_expression "local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800" (field_expression "local_6080.st_dev._0_2_" (field_expression "local_6080.st_dev" identifier . field_identifier) . field_identifier) = (binary_expression "in_FPUControlWord & 0xf3ff | 0x800" (binary_expression "in_FPUControlWord & 0xf3ff" identifier & number_literal) | number_literal)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);" (call_expression "FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010)" identifier (argument_list "(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010)" ( identifier , number_literal , (string_literal ""rgb(%.20g%%,%.20g%%,%.20g%%)"" " string_content ") , (binary_expression "DAT_002a8010 * *(double *)(param_2 + 0x9c)" identifier * (pointer_expression "*(double *)(param_2 + 0x9c)" * (cast_expression "(double *)(param_2 + 0x9c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x9c)" ( (binary_expression "param_2 + 0x9c" identifier + number_literal) ))))) , (binary_expression "*(double *)(param_2 + 0xa4) * DAT_002a8010" (pointer_expression "*(double *)(param_2 + 0xa4)" * (cast_expression "(double *)(param_2 + 0xa4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa4)" ( (binary_expression "param_2 + 0xa4" identifier + number_literal) )))) * identifier) , (binary_expression "*(double *)(param_2 + 0xac) * DAT_002a8010" (pointer_expression "*(double *)(param_2 + 0xac)" * (cast_expression "(double *)(param_2 + 0xac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xac)" ( (binary_expression "param_2 + 0xac" identifier + number_literal) )))) * identifier) ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar3 = GetDelegateCommands(iVar1);" (assignment_expression "uVar3 = GetDelegateCommands(iVar1)" identifier = (call_expression "GetDelegateCommands(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);" (call_expression "FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020)" identifier (argument_list "(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020)" ( identifier , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar2);" (call_expression "DestroyString(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "iVar1 = ExternalDelegateCommand();" (assignment_expression "iVar1 = ExternalDelegateCommand()" identifier = (call_expression "ExternalDelegateCommand()" identifier (argument_list "()" ( )))) ;) (expression_statement "RelinquishUniqueFileResource(local_1020);" (call_expression "RelinquishUniqueFileResource(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "RelinquishUniqueFileResource(local_4020);" (call_expression "RelinquishUniqueFileResource(local_4020)" identifier (argument_list "(local_4020)" ( identifier ))) ;) (if_statement "if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" if (parenthesized_expression "((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0))))" ( (binary_expression "(((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))" (parenthesized_expression "(((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_))" ( (binary_expression "((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)" (parenthesized_expression "((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0))" ( (binary_expression "(iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)" (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)" ( (comma_expression "iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0" (assignment_expression "iVar1 = __xstat64(3,local_2020,&local_6080)" identifier = (call_expression "__xstat64(3,local_2020,&local_6080)" identifier (argument_list "(3,local_2020,&local_6080)" ( number_literal , identifier , (pointer_expression "&local_6080" & identifier) )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(-1 < local_6080.st_size._4_4_)" ( (binary_expression "-1 < local_6080.st_size._4_4_" number_literal < (field_expression "local_6080.st_size._4_4_" (field_expression "local_6080.st_size" identifier . field_identifier) . field_identifier)) ))) )) && (parenthesized_expression "((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))" ( (parenthesized_expression "(0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0))" ( (binary_expression "0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)" (binary_expression "0 < local_6080.st_size._4_4_" number_literal < (field_expression "local_6080.st_size._4_4_" (field_expression "local_6080.st_size" identifier . field_identifier) . field_identifier)) || (parenthesized_expression "((int)local_6080.st_size != 0)" ( (binary_expression "(int)local_6080.st_size != 0" (cast_expression "(int)local_6080.st_size" ( (type_descriptor "int" primitive_type) ) (field_expression "local_6080.st_size" identifier . field_identifier)) != number_literal) ))) )) ))) )) (compound_statement "{\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" { (expression_statement "iVar4 = CloneImageInfo(param_1);" (assignment_expression "iVar4 = CloneImageInfo(param_1)" identifier = (call_expression "CloneImageInfo(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000)" identifier (argument_list "(iVar4 + 0x21f0,local_2020,0x1000)" ( (binary_expression "iVar4 + 0x21f0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar1 = ReadImage(iVar4,param_3);" (assignment_expression "iVar1 = ReadImage(iVar4,param_3)" identifier = (call_expression "ReadImage(iVar4,param_3)" identifier (argument_list "(iVar4,param_3)" ( identifier , identifier )))) ;) (expression_statement "DestroyImageInfo(iVar4);" (call_expression "DestroyImageInfo(iVar4)" identifier (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }" { (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) (expression_statement "iVar4 = GetFirstImageInList(iVar1);" (assignment_expression "iVar4 = GetFirstImageInList(iVar1)" identifier = (call_expression "GetFirstImageInList(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }" { (do_statement "do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);" do (compound_statement "{\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          }" { (expression_statement "CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000)" identifier (argument_list "(iVar4 + 0x318,param_2 + 0x318,0x1000)" ( (binary_expression "iVar4 + 0x318" identifier + number_literal) , (binary_expression "param_2 + 0x318" identifier + number_literal) , number_literal ))) ;) (expression_statement "CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000)" identifier (argument_list "(iVar4 + 0x2318,param_2 + 0x2318,0x1000)" ( (binary_expression "iVar4 + 0x2318" identifier + number_literal) , (binary_expression "param_2 + 0x2318" identifier + number_literal) , number_literal ))) ;) (expression_statement "iVar4 = GetNextImageInList(iVar4);" (assignment_expression "iVar4 = GetNextImageInList(iVar4)" identifier = (call_expression "GetNextImageInList(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (goto_statement "goto LAB_0027a89f;" goto statement_identifier ;) })) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) }))) (labeled_statement "LAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" { comment (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nImage * __regparm3 RenderSVGImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  double dVar2;\n  DelegateInfo *delegate_info;\n  char *string;\n  char *format;\n  int iVar3;\n  ImageInfo *image_info_00;\n  Image *images;\n  Image *images_00;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  ushort __cw;\n  stat attributes;\n  char background [4096];\n  char command [4096];\n  char input_filename [4096];\n  char opacity [4096];\n  char output_filename [4096];\n  char unique [4096];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  delegate_info = GetDelegateInfo("svg:decode",(char *)0x0,exception);\n  if (delegate_info == (DelegateInfo *)0x0) {\n    images = (Image *)0x0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(image->filename,input_filename);\n    AcquireUniqueFilename(unique);\n    FormatLocaleString(output_filename,0x1000,"%s.png",unique);\n    AcquireUniqueFilename(unique);\n    string = AcquireString("");\n    dVar2 = (image->resolution).x * (image->resolution).y;\n    if (dVar2 < 0.0) {\n      sqrt(dVar2);\n    }\n    attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));\n    dVar2 = (image->background_color).blue * DAT_002a8010;\n    FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20));\n    dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;\n    FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));\n    format = GetDelegateCommands(delegate_info);\n    FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique);\n    DestroyString(string);\n    iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);\n    RelinquishUniqueFileResource(unique);\n    RelinquishUniqueFileResource(input_filename);\n    if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    images = (Image *)0x0;\n    RelinquishUniqueFileResource(output_filename);\n  }\nLAB_0027a89f:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return images;\n}\n\n" comment comment comment comment comment comment comment (ERROR "Image * __regparm3 RenderSVGImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" (binary_expression "Image * __regparm3 RenderSVGImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" identifier * (ERROR "__regparm3" identifier) (call_expression "RenderSVGImage(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" identifier (argument_list "(ImageInfo *image_info,Image *image,ExceptionInfo *exception)" ( (binary_expression "ImageInfo *image_info" identifier * identifier) , (binary_expression "Image *image" identifier * identifier) , (binary_expression "ExceptionInfo *exception" identifier * identifier) ))))) (compound_statement "{\n  int iVar1;\n  double dVar2;\n  DelegateInfo *delegate_info;\n  char *string;\n  char *format;\n  int iVar3;\n  ImageInfo *image_info_00;\n  Image *images;\n  Image *images_00;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  ushort __cw;\n  stat attributes;\n  char background [4096];\n  char command [4096];\n  char input_filename [4096];\n  char opacity [4096];\n  char output_filename [4096];\n  char unique [4096];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  delegate_info = GetDelegateInfo("svg:decode",(char *)0x0,exception);\n  if (delegate_info == (DelegateInfo *)0x0) {\n    images = (Image *)0x0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(image->filename,input_filename);\n    AcquireUniqueFilename(unique);\n    FormatLocaleString(output_filename,0x1000,"%s.png",unique);\n    AcquireUniqueFilename(unique);\n    string = AcquireString("");\n    dVar2 = (image->resolution).x * (image->resolution).y;\n    if (dVar2 < 0.0) {\n      sqrt(dVar2);\n    }\n    attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));\n    dVar2 = (image->background_color).blue * DAT_002a8010;\n    FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20));\n    dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;\n    FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));\n    format = GetDelegateCommands(delegate_info);\n    FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique);\n    DestroyString(string);\n    iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);\n    RelinquishUniqueFileResource(unique);\n    RelinquishUniqueFileResource(input_filename);\n    if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    images = (Image *)0x0;\n    RelinquishUniqueFileResource(output_filename);\n  }\nLAB_0027a89f:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return images;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (declaration "DelegateInfo *delegate_info;" type_identifier (pointer_declarator "*delegate_info" * identifier) ;) (declaration "char *string;" primitive_type (pointer_declarator "*string" * identifier) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "ImageInfo *image_info_00;" type_identifier (pointer_declarator "*image_info_00" * identifier) ;) (declaration "Image *images;" type_identifier (pointer_declarator "*images" * identifier) ;) (declaration "Image *images_00;" type_identifier (pointer_declarator "*images_00" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "ushort in_FPUControlWord;" type_identifier identifier ;) (declaration "ushort __cw;" type_identifier identifier ;) (declaration "stat attributes;" type_identifier identifier ;) (declaration "char background [4096];" primitive_type (array_declarator "background [4096]" identifier [ number_literal ]) ;) (declaration "char command [4096];" primitive_type (array_declarator "command [4096]" identifier [ number_literal ]) ;) (declaration "char input_filename [4096];" primitive_type (array_declarator "input_filename [4096]" identifier [ number_literal ]) ;) (declaration "char opacity [4096];" primitive_type (array_declarator "opacity [4096]" identifier [ number_literal ]) ;) (declaration "char output_filename [4096];" primitive_type (array_declarator "output_filename [4096]" identifier [ number_literal ]) ;) (declaration "char unique [4096];" primitive_type (array_declarator "unique [4096]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "delegate_info = GetDelegateInfo("svg:decode",(char *)0x0,exception);" (assignment_expression "delegate_info = GetDelegateInfo("svg:decode",(char *)0x0,exception)" identifier = (call_expression "GetDelegateInfo("svg:decode",(char *)0x0,exception)" identifier (argument_list "("svg:decode",(char *)0x0,exception)" ( (string_literal ""svg:decode"" " string_content ") , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) (if_statement "if (delegate_info == (DelegateInfo *)0x0) {\n    images = (Image *)0x0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(image->filename,input_filename);\n    AcquireUniqueFilename(unique);\n    FormatLocaleString(output_filename,0x1000,"%s.png",unique);\n    AcquireUniqueFilename(unique);\n    string = AcquireString("");\n    dVar2 = (image->resolution).x * (image->resolution).y;\n    if (dVar2 < 0.0) {\n      sqrt(dVar2);\n    }\n    attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));\n    dVar2 = (image->background_color).blue * DAT_002a8010;\n    FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20));\n    dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;\n    FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));\n    format = GetDelegateCommands(delegate_info);\n    FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique);\n    DestroyString(string);\n    iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);\n    RelinquishUniqueFileResource(unique);\n    RelinquishUniqueFileResource(input_filename);\n    if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    images = (Image *)0x0;\n    RelinquishUniqueFileResource(output_filename);\n  }" if (parenthesized_expression "(delegate_info == (DelegateInfo *)0x0)" ( (binary_expression "delegate_info == (DelegateInfo *)0x0" identifier == (cast_expression "(DelegateInfo *)0x0" ( (type_descriptor "DelegateInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    images = (Image *)0x0;\n  }" { (expression_statement "images = (Image *)0x0;" (assignment_expression "images = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    AcquireUniqueSymbolicLink(image->filename,input_filename);\n    AcquireUniqueFilename(unique);\n    FormatLocaleString(output_filename,0x1000,"%s.png",unique);\n    AcquireUniqueFilename(unique);\n    string = AcquireString("");\n    dVar2 = (image->resolution).x * (image->resolution).y;\n    if (dVar2 < 0.0) {\n      sqrt(dVar2);\n    }\n    attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));\n    dVar2 = (image->background_color).blue * DAT_002a8010;\n    FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20));\n    dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;\n    FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));\n    format = GetDelegateCommands(delegate_info);\n    FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique);\n    DestroyString(string);\n    iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);\n    RelinquishUniqueFileResource(unique);\n    RelinquishUniqueFileResource(input_filename);\n    if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    images = (Image *)0x0;\n    RelinquishUniqueFileResource(output_filename);\n  }" else (compound_statement "{\n    AcquireUniqueSymbolicLink(image->filename,input_filename);\n    AcquireUniqueFilename(unique);\n    FormatLocaleString(output_filename,0x1000,"%s.png",unique);\n    AcquireUniqueFilename(unique);\n    string = AcquireString("");\n    dVar2 = (image->resolution).x * (image->resolution).y;\n    if (dVar2 < 0.0) {\n      sqrt(dVar2);\n    }\n    attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));\n    dVar2 = (image->background_color).blue * DAT_002a8010;\n    FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20));\n    dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;\n    FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));\n    format = GetDelegateCommands(delegate_info);\n    FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique);\n    DestroyString(string);\n    iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);\n    RelinquishUniqueFileResource(unique);\n    RelinquishUniqueFileResource(input_filename);\n    if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    images = (Image *)0x0;\n    RelinquishUniqueFileResource(output_filename);\n  }" { (expression_statement "AcquireUniqueSymbolicLink(image->filename,input_filename);" (call_expression "AcquireUniqueSymbolicLink(image->filename,input_filename)" identifier (argument_list "(image->filename,input_filename)" ( (field_expression "image->filename" identifier -> field_identifier) , identifier ))) ;) (expression_statement "AcquireUniqueFilename(unique);" (call_expression "AcquireUniqueFilename(unique)" identifier (argument_list "(unique)" ( identifier ))) ;) (expression_statement "FormatLocaleString(output_filename,0x1000,"%s.png",unique);" (call_expression "FormatLocaleString(output_filename,0x1000,"%s.png",unique)" identifier (argument_list "(output_filename,0x1000,"%s.png",unique)" ( identifier , number_literal , (string_literal ""%s.png"" " string_content ") , identifier ))) ;) (expression_statement "AcquireUniqueFilename(unique);" (call_expression "AcquireUniqueFilename(unique)" identifier (argument_list "(unique)" ( identifier ))) ;) (expression_statement "string = AcquireString("");" (assignment_expression "string = AcquireString("")" identifier = (call_expression "AcquireString("")" identifier (argument_list "("")" ( (string_literal """" " ") )))) ;) (expression_statement "dVar2 = (image->resolution).x * (image->resolution).y;" (assignment_expression "dVar2 = (image->resolution).x * (image->resolution).y" identifier = (binary_expression "(image->resolution).x * (image->resolution).y" (field_expression "(image->resolution).x" (parenthesized_expression "(image->resolution)" ( (field_expression "image->resolution" identifier -> field_identifier) )) . field_identifier) * (field_expression "(image->resolution).y" (parenthesized_expression "(image->resolution)" ( (field_expression "image->resolution" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (dVar2 < 0.0) {\n      sqrt(dVar2);\n    }" if (parenthesized_expression "(dVar2 < 0.0)" ( (binary_expression "dVar2 < 0.0" identifier < number_literal) )) (compound_statement "{\n      sqrt(dVar2);\n    }" { (expression_statement "sqrt(dVar2);" (call_expression "sqrt(dVar2)" identifier (argument_list "(dVar2)" ( identifier ))) ;) })) (expression_statement "attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;" (assignment_expression "attributes.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800" (field_expression "attributes.st_dev._0_2_" (field_expression "attributes.st_dev" identifier . field_identifier) . field_identifier) = (binary_expression "in_FPUControlWord & 0xf3ff | 0x800" (binary_expression "in_FPUControlWord & 0xf3ff" identifier & number_literal) | number_literal)) ;) (expression_statement "FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20));" (call_expression "FormatLocaleString(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20))" identifier (argument_list "(string,0x1000,"%.20g",SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0),\n                       (int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g"" " string_content ") , (call_expression "SUB84(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0)" identifier (argument_list "(ROUND(SQRT(dVar2) - (double)DAT_0029f124),0)" ( (call_expression "ROUND(SQRT(dVar2) - (double)DAT_0029f124)" identifier (argument_list "(SQRT(dVar2) - (double)DAT_0029f124)" ( (binary_expression "SQRT(dVar2) - (double)DAT_0029f124" (call_expression "SQRT(dVar2)" identifier (argument_list "(dVar2)" ( identifier ))) - (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) ))) , number_literal ))) , (cast_expression "(int)((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20)" ( (binary_expression "(ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124) >> 0x20" (cast_expression "(ulonglong)ROUND(SQRT(dVar2) - (double)DAT_0029f124)" ( (type_descriptor "ulonglong" type_identifier) ) (call_expression "ROUND(SQRT(dVar2) - (double)DAT_0029f124)" identifier (argument_list "(SQRT(dVar2) - (double)DAT_0029f124)" ( (binary_expression "SQRT(dVar2) - (double)DAT_0029f124" (call_expression "SQRT(dVar2)" identifier (argument_list "(dVar2)" ( identifier ))) - (cast_expression "(double)DAT_0029f124" ( (type_descriptor "double" primitive_type) ) identifier)) )))) >> number_literal) ))) ))) ;) (expression_statement "dVar2 = (image->background_color).blue * DAT_002a8010;" (assignment_expression "dVar2 = (image->background_color).blue * DAT_002a8010" identifier = (binary_expression "(image->background_color).blue * DAT_002a8010" (field_expression "(image->background_color).blue" (parenthesized_expression "(image->background_color)" ( (field_expression "image->background_color" identifier -> field_identifier) )) . field_identifier) * identifier)) ;) (expression_statement "FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20));" (call_expression "FormatLocaleString(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20))" identifier (argument_list "(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * (image->background_color).red,\n                       (image->background_color).green * DAT_002a8010,SUB84(dVar2,0),\n                       (int)((ulonglong)dVar2 >> 0x20))" ( identifier , number_literal , (string_literal ""rgb(%.20g%%,%.20g%%,%.20g%%)"" " string_content ") , (binary_expression "DAT_002a8010 * (image->background_color).red" identifier * (field_expression "(image->background_color).red" (parenthesized_expression "(image->background_color)" ( (field_expression "image->background_color" identifier -> field_identifier) )) . field_identifier)) , (binary_expression "(image->background_color).green * DAT_002a8010" (field_expression "(image->background_color).green" (parenthesized_expression "(image->background_color)" ( (field_expression "image->background_color" identifier -> field_identifier) )) . field_identifier) * identifier) , (call_expression "SUB84(dVar2,0)" identifier (argument_list "(dVar2,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar2 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar2 >> 0x20)" ( (binary_expression "(ulonglong)dVar2 >> 0x20" (cast_expression "(ulonglong)dVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138;" (assignment_expression "dVar2 = _DAT_0029f148 * (image->background_color).alpha - DAT_0029f138" identifier = (binary_expression "_DAT_0029f148 * (image->background_color).alpha - DAT_0029f138" (binary_expression "_DAT_0029f148 * (image->background_color).alpha" identifier * (field_expression "(image->background_color).alpha" (parenthesized_expression "(image->background_color)" ( (field_expression "image->background_color" identifier -> field_identifier) )) . field_identifier)) - identifier)) ;) (expression_statement "FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20));" (call_expression "FormatLocaleString(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20))" identifier (argument_list "(opacity,0x1000,"%.20g",SUB84(dVar2,0),(int)((ulonglong)dVar2 >> 0x20))" ( identifier , number_literal , (string_literal ""%.20g"" " string_content ") , (call_expression "SUB84(dVar2,0)" identifier (argument_list "(dVar2,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar2 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar2 >> 0x20)" ( (binary_expression "(ulonglong)dVar2 >> 0x20" (cast_expression "(ulonglong)dVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) ))) ;) (expression_statement "format = GetDelegateCommands(delegate_info);" (assignment_expression "format = GetDelegateCommands(delegate_info)" identifier = (call_expression "GetDelegateCommands(delegate_info)" identifier (argument_list "(delegate_info)" ( identifier )))) ;) (expression_statement "FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique);" (call_expression "FormatLocaleString(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique)" identifier (argument_list "(command,0x1000,format,input_filename,output_filename,string,background,\n                       opacity,unique)" ( identifier , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "DestroyString(string);" (call_expression "DestroyString(string)" identifier (argument_list "(string)" ( identifier ))) ;) (expression_statement "iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception);" (assignment_expression "iVar3 = ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception)" identifier = (call_expression "ExternalDelegateCommand(MagickFalse,image_info->verbose,command,(char *)0x0,exception)" identifier (argument_list "(MagickFalse,image_info->verbose,command,(char *)0x0,exception)" ( identifier , (field_expression "image_info->verbose" identifier -> field_identifier) , identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier )))) ;) (expression_statement "RelinquishUniqueFileResource(unique);" (call_expression "RelinquishUniqueFileResource(unique)" identifier (argument_list "(unique)" ( identifier ))) ;) (expression_statement "RelinquishUniqueFileResource(input_filename);" (call_expression "RelinquishUniqueFileResource(input_filename)" identifier (argument_list "(input_filename)" ( identifier ))) ;) (if_statement "if ((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" if (parenthesized_expression "((((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0))))" ( (binary_expression "(((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)) &&\n       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))" (parenthesized_expression "(((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_))" ( (binary_expression "((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))\n        && (-1 < attributes.st_size._4_4_)" (parenthesized_expression "((iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0))" ( (binary_expression "(iVar3 == 0) && (iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0)" (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0)" ( (comma_expression "iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes), iVar3 == 0" (assignment_expression "iVar3 = __xstat64(3,output_filename,(stat64 *)&attributes)" identifier = (call_expression "__xstat64(3,output_filename,(stat64 *)&attributes)" identifier (argument_list "(3,output_filename,(stat64 *)&attributes)" ( number_literal , identifier , (cast_expression "(stat64 *)&attributes" ( (type_descriptor "stat64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&attributes" & identifier)) )))) , (binary_expression "iVar3 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(-1 < attributes.st_size._4_4_)" ( (binary_expression "-1 < attributes.st_size._4_4_" number_literal < (field_expression "attributes.st_size._4_4_" (field_expression "attributes.st_size" identifier . field_identifier) . field_identifier)) ))) )) && (parenthesized_expression "((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))" ( (parenthesized_expression "(0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0))" ( (binary_expression "0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)" (binary_expression "0 < attributes.st_size._4_4_" number_literal < (field_expression "attributes.st_size._4_4_" (field_expression "attributes.st_size" identifier . field_identifier) . field_identifier)) || (parenthesized_expression "((int)attributes.st_size != 0)" ( (binary_expression "(int)attributes.st_size != 0" (cast_expression "(int)attributes.st_size" ( (type_descriptor "int" primitive_type) ) (field_expression "attributes.st_size" identifier . field_identifier)) != number_literal) ))) )) ))) )) (compound_statement "{\n      image_info_00 = CloneImageInfo(image_info);\n      CopyMagickString(image_info_00->filename,output_filename,0x1000);\n      images = ReadImage(image_info_00,exception);\n      DestroyImageInfo(image_info_00);\n      if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" { (expression_statement "image_info_00 = CloneImageInfo(image_info);" (assignment_expression "image_info_00 = CloneImageInfo(image_info)" identifier = (call_expression "CloneImageInfo(image_info)" identifier (argument_list "(image_info)" ( identifier )))) ;) (expression_statement "CopyMagickString(image_info_00->filename,output_filename,0x1000);" (call_expression "CopyMagickString(image_info_00->filename,output_filename,0x1000)" identifier (argument_list "(image_info_00->filename,output_filename,0x1000)" ( (field_expression "image_info_00->filename" identifier -> field_identifier) , identifier , number_literal ))) ;) (expression_statement "images = ReadImage(image_info_00,exception);" (assignment_expression "images = ReadImage(image_info_00,exception)" identifier = (call_expression "ReadImage(image_info_00,exception)" identifier (argument_list "(image_info_00,exception)" ( identifier , identifier )))) ;) (expression_statement "DestroyImageInfo(image_info_00);" (call_expression "DestroyImageInfo(image_info_00)" identifier (argument_list "(image_info_00)" ( identifier ))) ;) (if_statement "if (images != (Image *)0x0) {\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }" if (parenthesized_expression "(images != (Image *)0x0)" ( (binary_expression "images != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        RelinquishUniqueFileResource(output_filename);\n        images_00 = GetFirstImageInList(images);\n        if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }\n        goto LAB_0027a89f;\n      }" { (expression_statement "RelinquishUniqueFileResource(output_filename);" (call_expression "RelinquishUniqueFileResource(output_filename)" identifier (argument_list "(output_filename)" ( identifier ))) ;) (expression_statement "images_00 = GetFirstImageInList(images);" (assignment_expression "images_00 = GetFirstImageInList(images)" identifier = (call_expression "GetFirstImageInList(images)" identifier (argument_list "(images)" ( identifier )))) ;) (if_statement "if (images_00 != (Image *)0x0) {\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }" if (parenthesized_expression "(images_00 != (Image *)0x0)" ( (binary_expression "images_00 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);\n        }" { (do_statement "do {\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          } while (images_00 != (Image *)0x0);" do (compound_statement "{\n            CopyMagickString(images_00->filename,image->filename,0x1000);\n            CopyMagickString(images_00->magick,image->magick,0x1000);\n            images_00 = GetNextImageInList(images_00);\n          }" { (expression_statement "CopyMagickString(images_00->filename,image->filename,0x1000);" (call_expression "CopyMagickString(images_00->filename,image->filename,0x1000)" identifier (argument_list "(images_00->filename,image->filename,0x1000)" ( (field_expression "images_00->filename" identifier -> field_identifier) , (field_expression "image->filename" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "CopyMagickString(images_00->magick,image->magick,0x1000);" (call_expression "CopyMagickString(images_00->magick,image->magick,0x1000)" identifier (argument_list "(images_00->magick,image->magick,0x1000)" ( (field_expression "images_00->magick" identifier -> field_identifier) , (field_expression "image->magick" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "images_00 = GetNextImageInList(images_00);" (assignment_expression "images_00 = GetNextImageInList(images_00)" identifier = (call_expression "GetNextImageInList(images_00)" identifier (argument_list "(images_00)" ( identifier )))) ;) }) while (parenthesized_expression "(images_00 != (Image *)0x0)" ( (binary_expression "images_00 != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (goto_statement "goto LAB_0027a89f;" goto statement_identifier ;) })) })) (expression_statement "images = (Image *)0x0;" (assignment_expression "images = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "RelinquishUniqueFileResource(output_filename);" (call_expression "RelinquishUniqueFileResource(output_filename)" identifier (argument_list "(output_filename)" ( identifier ))) ;) }))) (labeled_statement "LAB_0027a89f:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return images;" return identifier ;) }))
(translation_unit "int __regparm3 FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return iVar1;\n}\n\n" (function_definition "int __regparm3 FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return iVar1;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return iVar1;\n}" { (declaration "double __x;" primitive_type identifier ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "ushort in_FPUControlWord;" type_identifier identifier ;) (declaration "stat64 local_6080;" type_identifier identifier ;) (declaration "undefined1 local_6020 [4096];" type_identifier (array_declarator "local_6020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_5020 [4096];" type_identifier (array_declarator "local_5020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_4020 [4096];" type_identifier (array_declarator "local_4020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_3020 [4096];" type_identifier (array_declarator "local_3020 [4096]" identifier [ number_literal ]) ;) (declaration "char local_2020 [4096];" primitive_type (array_declarator "local_2020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1020 [4096];" type_identifier (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x27a5ab;" (assignment_expression "uStack_14 = 0x27a5ab" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = GetDelegateInfo("svg:decode",0,param_3);" (assignment_expression "iVar1 = GetDelegateInfo("svg:decode",0,param_3)" identifier = (call_expression "GetDelegateInfo("svg:decode",0,param_3)" identifier (argument_list "("svg:decode",0,param_3)" ( (string_literal ""svg:decode"" " string_content ") , number_literal , identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = 0;\n  }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" else (compound_statement "{\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" { (expression_statement "AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);" (call_expression "AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020)" identifier (argument_list "(param_2 + 0x318,local_4020)" ( (binary_expression "param_2 + 0x318" identifier + number_literal) , identifier ))) ;) (expression_statement "AcquireUniqueFilename(local_1020);" (call_expression "AcquireUniqueFilename(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);" (call_expression "FormatLocaleString(local_2020,0x1000,"%s.png",local_1020)" identifier (argument_list "(local_2020,0x1000,"%s.png",local_1020)" ( identifier , number_literal , (string_literal ""%s.png"" " string_content ") , identifier ))) ;) (expression_statement "AcquireUniqueFilename(local_1020);" (call_expression "AcquireUniqueFilename(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "uVar2 = AcquireString(&DAT_0030570a);" (assignment_expression "uVar2 = AcquireString(&DAT_0030570a)" identifier = (call_expression "AcquireString(&DAT_0030570a)" identifier (argument_list "(&DAT_0030570a)" ( (pointer_expression "&DAT_0030570a" & identifier) )))) ;) (expression_statement "__x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);" (assignment_expression "__x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8)" identifier = (binary_expression "*(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8)" (pointer_expression "*(double *)(param_2 + 0x1f0)" * (cast_expression "(double *)(param_2 + 0x1f0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1f0)" ( (binary_expression "param_2 + 0x1f0" identifier + number_literal) )))) * (pointer_expression "*(double *)(param_2 + 0x1f8)" * (cast_expression "(double *)(param_2 + 0x1f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1f8)" ( (binary_expression "param_2 + 0x1f8" identifier + number_literal) )))))) ;) (if_statement "if (__x < 0.0) {\n      sqrt(__x);\n    }" if (parenthesized_expression "(__x < 0.0)" ( (binary_expression "__x < 0.0" identifier < number_literal) )) (compound_statement "{\n      sqrt(__x);\n    }" { (expression_statement "sqrt(__x);" (call_expression "sqrt(__x)" identifier (argument_list "(__x)" ( identifier ))) ;) })) (expression_statement "local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;" (assignment_expression "local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800" (field_expression "local_6080.st_dev._0_2_" (field_expression "local_6080.st_dev" identifier . field_identifier) . field_identifier) = (binary_expression "in_FPUControlWord & 0xf3ff | 0x800" (binary_expression "in_FPUControlWord & 0xf3ff" identifier & number_literal) | number_literal)) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);" (call_expression "FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010)" identifier (argument_list "(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010)" ( identifier , number_literal , (string_literal ""rgb(%.20g%%,%.20g%%,%.20g%%)"" " string_content ") , (binary_expression "DAT_002a8010 * *(double *)(param_2 + 0x9c)" identifier * (pointer_expression "*(double *)(param_2 + 0x9c)" * (cast_expression "(double *)(param_2 + 0x9c)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x9c)" ( (binary_expression "param_2 + 0x9c" identifier + number_literal) ))))) , (binary_expression "*(double *)(param_2 + 0xa4) * DAT_002a8010" (pointer_expression "*(double *)(param_2 + 0xa4)" * (cast_expression "(double *)(param_2 + 0xa4)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xa4)" ( (binary_expression "param_2 + 0xa4" identifier + number_literal) )))) * identifier) , (binary_expression "*(double *)(param_2 + 0xac) * DAT_002a8010" (pointer_expression "*(double *)(param_2 + 0xac)" * (cast_expression "(double *)(param_2 + 0xac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xac)" ( (binary_expression "param_2 + 0xac" identifier + number_literal) )))) * identifier) ))) ;) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar3 = GetDelegateCommands(iVar1);" (assignment_expression "uVar3 = GetDelegateCommands(iVar1)" identifier = (call_expression "GetDelegateCommands(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (expression_statement "FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);" (call_expression "FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020)" identifier (argument_list "(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020)" ( identifier , number_literal , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar2);" (call_expression "DestroyString(uVar2)" identifier (argument_list "(uVar2)" ( identifier ))) ;) (expression_statement "iVar1 = ExternalDelegateCommand();" (assignment_expression "iVar1 = ExternalDelegateCommand()" identifier = (call_expression "ExternalDelegateCommand()" identifier (argument_list "()" ( )))) ;) (expression_statement "RelinquishUniqueFileResource(local_1020);" (call_expression "RelinquishUniqueFileResource(local_1020)" identifier (argument_list "(local_1020)" ( identifier ))) ;) (expression_statement "RelinquishUniqueFileResource(local_4020);" (call_expression "RelinquishUniqueFileResource(local_4020)" identifier (argument_list "(local_4020)" ( identifier ))) ;) (if_statement "if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" if (parenthesized_expression "((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0))))" ( (binary_expression "(((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))" (parenthesized_expression "(((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_))" ( (binary_expression "((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)" (parenthesized_expression "((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0))" ( (binary_expression "(iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)" (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)" ( (comma_expression "iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0" (assignment_expression "iVar1 = __xstat64(3,local_2020,&local_6080)" identifier = (call_expression "__xstat64(3,local_2020,&local_6080)" identifier (argument_list "(3,local_2020,&local_6080)" ( number_literal , identifier , (pointer_expression "&local_6080" & identifier) )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(-1 < local_6080.st_size._4_4_)" ( (binary_expression "-1 < local_6080.st_size._4_4_" number_literal < (field_expression "local_6080.st_size._4_4_" (field_expression "local_6080.st_size" identifier . field_identifier) . field_identifier)) ))) )) && (parenthesized_expression "((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))" ( (parenthesized_expression "(0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0))" ( (binary_expression "0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)" (binary_expression "0 < local_6080.st_size._4_4_" number_literal < (field_expression "local_6080.st_size._4_4_" (field_expression "local_6080.st_size" identifier . field_identifier) . field_identifier)) || (parenthesized_expression "((int)local_6080.st_size != 0)" ( (binary_expression "(int)local_6080.st_size != 0" (cast_expression "(int)local_6080.st_size" ( (type_descriptor "int" primitive_type) ) (field_expression "local_6080.st_size" identifier . field_identifier)) != number_literal) ))) )) ))) )) (compound_statement "{\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" { (expression_statement "iVar4 = CloneImageInfo(param_1);" (assignment_expression "iVar4 = CloneImageInfo(param_1)" identifier = (call_expression "CloneImageInfo(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000)" identifier (argument_list "(iVar4 + 0x21f0,local_2020,0x1000)" ( (binary_expression "iVar4 + 0x21f0" identifier + number_literal) , identifier , number_literal ))) ;) (expression_statement "iVar1 = ReadImage(iVar4,param_3);" (assignment_expression "iVar1 = ReadImage(iVar4,param_3)" identifier = (call_expression "ReadImage(iVar4,param_3)" identifier (argument_list "(iVar4,param_3)" ( identifier , identifier )))) ;) (expression_statement "DestroyImageInfo(iVar4);" (call_expression "DestroyImageInfo(iVar4)" identifier (argument_list "(iVar4)" ( identifier ))) ;) (if_statement "if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }" { (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) (expression_statement "iVar4 = GetFirstImageInList(iVar1);" (assignment_expression "iVar4 = GetFirstImageInList(iVar1)" identifier = (call_expression "GetFirstImageInList(iVar1)" identifier (argument_list "(iVar1)" ( identifier )))) ;) (if_statement "if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }" { (do_statement "do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);" do (compound_statement "{\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          }" { (expression_statement "CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000)" identifier (argument_list "(iVar4 + 0x318,param_2 + 0x318,0x1000)" ( (binary_expression "iVar4 + 0x318" identifier + number_literal) , (binary_expression "param_2 + 0x318" identifier + number_literal) , number_literal ))) ;) (expression_statement "CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000)" identifier (argument_list "(iVar4 + 0x2318,param_2 + 0x2318,0x1000)" ( (binary_expression "iVar4 + 0x2318" identifier + number_literal) , (binary_expression "param_2 + 0x2318" identifier + number_literal) , number_literal ))) ;) (expression_statement "iVar4 = GetNextImageInList(iVar4);" (assignment_expression "iVar4 = GetNextImageInList(iVar4)" identifier = (call_expression "GetNextImageInList(iVar4)" identifier (argument_list "(iVar4)" ( identifier )))) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (goto_statement "goto LAB_0027a89f;" goto statement_identifier ;) })) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" identifier (argument_list "(local_2020)" ( identifier ))) ;) }))) (labeled_statement "LAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" { (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , (pointer_expression & IDENT) )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (binary_expression LIT < (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (field_expression (field_expression IDENT . field_identifier) . field_identifier)) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "int __regparm3 FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)\n\n{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return iVar1;\n}" (primitive_type "int") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_0027a5a0(undefined4 param_1,int param_2,undefined4 param_3)" (identifier "FUN_0027a5a0") (parameter_list "(undefined4 param_1,int param_2,undefined4 param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  double __x;\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  int in_GS_OFFSET;\n  ushort in_FPUControlWord;\n  stat64 local_6080;\n  undefined1 local_6020 [4096];\n  undefined1 local_5020 [4096];\n  undefined1 local_4020 [4096];\n  undefined1 local_3020 [4096];\n  char local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x27a5ab;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar1 = GetDelegateInfo("svg:decode",0,param_3);\n  if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }\nLAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return iVar1;\n}" ({ "{") (declaration "double __x;" (primitive_type "double") (identifier "__x") (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "ushort in_FPUControlWord;" (type_identifier "ushort") (identifier "in_FPUControlWord") (; ";")) (declaration "stat64 local_6080;" (type_identifier "stat64") (identifier "local_6080") (; ";")) (declaration "undefined1 local_6020 [4096];" (type_identifier "undefined1") (array_declarator "local_6020 [4096]" (identifier "local_6020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_5020 [4096];" (type_identifier "undefined1") (array_declarator "local_5020 [4096]" (identifier "local_5020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_4020 [4096];" (type_identifier "undefined1") (array_declarator "local_4020 [4096]" (identifier "local_4020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_3020 [4096];" (type_identifier "undefined1") (array_declarator "local_3020 [4096]" (identifier "local_3020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "char local_2020 [4096];" (primitive_type "char") (array_declarator "local_2020 [4096]" (identifier "local_2020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_1020 [4096];" (type_identifier "undefined1") (array_declarator "local_1020 [4096]" (identifier "local_1020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x27a5ab;" (assignment_expression "uStack_14 = 0x27a5ab" (identifier "uStack_14") (= "=") (number_literal "0x27a5ab")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar1 = GetDelegateInfo("svg:decode",0,param_3);" (assignment_expression "iVar1 = GetDelegateInfo("svg:decode",0,param_3)" (identifier "iVar1") (= "=") (call_expression "GetDelegateInfo("svg:decode",0,param_3)" (identifier "GetDelegateInfo") (argument_list "("svg:decode",0,param_3)" (( "(") (string_literal ""svg:decode"" (" """) (string_content "svg:decode") (" """)) (, ",") (number_literal "0") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    iVar1 = 0;\n  }\n  else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = 0;\n  }" ({ "{") (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" (else "else") (compound_statement "{\n    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);\n    AcquireUniqueFilename(local_1020);\n    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);\n    AcquireUniqueFilename(local_1020);\n    uVar2 = AcquireString(&DAT_0030570a);\n    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);\n    if (__x < 0.0) {\n      sqrt(__x);\n    }\n    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;\n    FormatLocaleString();\n    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);\n    FormatLocaleString();\n    uVar3 = GetDelegateCommands(iVar1);\n    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);\n    DestroyString(uVar2);\n    iVar1 = ExternalDelegateCommand();\n    RelinquishUniqueFileResource(local_1020);\n    RelinquishUniqueFileResource(local_4020);\n    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }\n    iVar1 = 0;\n    RelinquishUniqueFileResource(local_2020);\n  }" ({ "{") (expression_statement "AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);" (call_expression "AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020)" (identifier "AcquireUniqueSymbolicLink") (argument_list "(param_2 + 0x318,local_4020)" (( "(") (binary_expression "param_2 + 0x318" (identifier "param_2") (+ "+") (number_literal "0x318")) (, ",") (identifier "local_4020") () ")"))) (; ";")) (expression_statement "AcquireUniqueFilename(local_1020);" (call_expression "AcquireUniqueFilename(local_1020)" (identifier "AcquireUniqueFilename") (argument_list "(local_1020)" (( "(") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);" (call_expression "FormatLocaleString(local_2020,0x1000,"%s.png",local_1020)" (identifier "FormatLocaleString") (argument_list "(local_2020,0x1000,"%s.png",local_1020)" (( "(") (identifier "local_2020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%s.png"" (" """) (string_content "%s.png") (" """)) (, ",") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "AcquireUniqueFilename(local_1020);" (call_expression "AcquireUniqueFilename(local_1020)" (identifier "AcquireUniqueFilename") (argument_list "(local_1020)" (( "(") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "uVar2 = AcquireString(&DAT_0030570a);" (assignment_expression "uVar2 = AcquireString(&DAT_0030570a)" (identifier "uVar2") (= "=") (call_expression "AcquireString(&DAT_0030570a)" (identifier "AcquireString") (argument_list "(&DAT_0030570a)" (( "(") (pointer_expression "&DAT_0030570a" (& "&") (identifier "DAT_0030570a")) () ")")))) (; ";")) (expression_statement "__x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);" (assignment_expression "__x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8)" (identifier "__x") (= "=") (binary_expression "*(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8)" (pointer_expression "*(double *)(param_2 + 0x1f0)" (* "*") (cast_expression "(double *)(param_2 + 0x1f0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1f0)" (( "(") (binary_expression "param_2 + 0x1f0" (identifier "param_2") (+ "+") (number_literal "0x1f0")) () ")")))) (* "*") (pointer_expression "*(double *)(param_2 + 0x1f8)" (* "*") (cast_expression "(double *)(param_2 + 0x1f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1f8)" (( "(") (binary_expression "param_2 + 0x1f8" (identifier "param_2") (+ "+") (number_literal "0x1f8")) () ")")))))) (; ";")) (if_statement "if (__x < 0.0) {\n      sqrt(__x);\n    }" (if "if") (parenthesized_expression "(__x < 0.0)" (( "(") (binary_expression "__x < 0.0" (identifier "__x") (< "<") (number_literal "0.0")) () ")")) (compound_statement "{\n      sqrt(__x);\n    }" ({ "{") (expression_statement "sqrt(__x);" (call_expression "sqrt(__x)" (identifier "sqrt") (argument_list "(__x)" (( "(") (identifier "__x") () ")"))) (; ";")) (} "}"))) (expression_statement "local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;" (assignment_expression "local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800" (field_expression "local_6080.st_dev._0_2_" (field_expression "local_6080.st_dev" (identifier "local_6080") (. ".") (field_identifier "st_dev")) (. ".") (field_identifier "_0_2_")) (= "=") (binary_expression "in_FPUControlWord & 0xf3ff | 0x800" (binary_expression "in_FPUControlWord & 0xf3ff" (identifier "in_FPUControlWord") (& "&") (number_literal "0xf3ff")) (| "|") (number_literal "0x800"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010);" (call_expression "FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010)" (identifier "FormatLocaleString") (argument_list "(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",\n                       DAT_002a8010 * *(double *)(param_2 + 0x9c),\n                       *(double *)(param_2 + 0xa4) * DAT_002a8010,\n                       *(double *)(param_2 + 0xac) * DAT_002a8010)" (( "(") (identifier "local_6020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""rgb(%.20g%%,%.20g%%,%.20g%%)"" (" """) (string_content "rgb(%.20g%%,%.20g%%,%.20g%%)") (" """)) (, ",") (binary_expression "DAT_002a8010 * *(double *)(param_2 + 0x9c)" (identifier "DAT_002a8010") (* "*") (pointer_expression "*(double *)(param_2 + 0x9c)" (* "*") (cast_expression "(double *)(param_2 + 0x9c)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x9c)" (( "(") (binary_expression "param_2 + 0x9c" (identifier "param_2") (+ "+") (number_literal "0x9c")) () ")"))))) (, ",") (binary_expression "*(double *)(param_2 + 0xa4) * DAT_002a8010" (pointer_expression "*(double *)(param_2 + 0xa4)" (* "*") (cast_expression "(double *)(param_2 + 0xa4)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xa4)" (( "(") (binary_expression "param_2 + 0xa4" (identifier "param_2") (+ "+") (number_literal "0xa4")) () ")")))) (* "*") (identifier "DAT_002a8010")) (, ",") (binary_expression "*(double *)(param_2 + 0xac) * DAT_002a8010" (pointer_expression "*(double *)(param_2 + 0xac)" (* "*") (cast_expression "(double *)(param_2 + 0xac)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xac)" (( "(") (binary_expression "param_2 + 0xac" (identifier "param_2") (+ "+") (number_literal "0xac")) () ")")))) (* "*") (identifier "DAT_002a8010")) () ")"))) (; ";")) (expression_statement "FormatLocaleString();" (call_expression "FormatLocaleString()" (identifier "FormatLocaleString") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar3 = GetDelegateCommands(iVar1);" (assignment_expression "uVar3 = GetDelegateCommands(iVar1)" (identifier "uVar3") (= "=") (call_expression "GetDelegateCommands(iVar1)" (identifier "GetDelegateCommands") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (expression_statement "FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020);" (call_expression "FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020)" (identifier "FormatLocaleString") (argument_list "(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,\n                       local_1020)" (( "(") (identifier "local_5020") (, ",") (number_literal "0x1000") (, ",") (identifier "uVar3") (, ",") (identifier "local_4020") (, ",") (identifier "local_2020") (, ",") (identifier "uVar2") (, ",") (identifier "local_6020") (, ",") (identifier "local_3020") (, ",") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "DestroyString(uVar2);" (call_expression "DestroyString(uVar2)" (identifier "DestroyString") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "iVar1 = ExternalDelegateCommand();" (assignment_expression "iVar1 = ExternalDelegateCommand()" (identifier "iVar1") (= "=") (call_expression "ExternalDelegateCommand()" (identifier "ExternalDelegateCommand") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "RelinquishUniqueFileResource(local_1020);" (call_expression "RelinquishUniqueFileResource(local_1020)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_1020)" (( "(") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "RelinquishUniqueFileResource(local_4020);" (call_expression "RelinquishUniqueFileResource(local_4020)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_4020)" (( "(") (identifier "local_4020") () ")"))) (; ";")) (if_statement "if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" (if "if") (parenthesized_expression "((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0))))" (( "(") (binary_expression "(((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)) &&\n       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))" (parenthesized_expression "(((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_))" (( "(") (binary_expression "((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&\n        (-1 < local_6080.st_size._4_4_)" (parenthesized_expression "((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0))" (( "(") (binary_expression "(iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)" (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)" (( "(") (comma_expression "iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0" (assignment_expression "iVar1 = __xstat64(3,local_2020,&local_6080)" (identifier "iVar1") (= "=") (call_expression "__xstat64(3,local_2020,&local_6080)" (identifier "__xstat64") (argument_list "(3,local_2020,&local_6080)" (( "(") (number_literal "3") (, ",") (identifier "local_2020") (, ",") (pointer_expression "&local_6080" (& "&") (identifier "local_6080")) () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < local_6080.st_size._4_4_)" (( "(") (binary_expression "-1 < local_6080.st_size._4_4_" (number_literal "-1") (< "<") (field_expression "local_6080.st_size._4_4_" (field_expression "local_6080.st_size" (identifier "local_6080") (. ".") (field_identifier "st_size")) (. ".") (field_identifier "_4_4_"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))" (( "(") (parenthesized_expression "(0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0))" (( "(") (binary_expression "0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)" (binary_expression "0 < local_6080.st_size._4_4_" (number_literal "0") (< "<") (field_expression "local_6080.st_size._4_4_" (field_expression "local_6080.st_size" (identifier "local_6080") (. ".") (field_identifier "st_size")) (. ".") (field_identifier "_4_4_"))) (|| "||") (parenthesized_expression "((int)local_6080.st_size != 0)" (( "(") (binary_expression "(int)local_6080.st_size != 0" (cast_expression "(int)local_6080.st_size" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_6080.st_size" (identifier "local_6080") (. ".") (field_identifier "st_size"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      iVar4 = CloneImageInfo(param_1);\n      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);\n      iVar1 = ReadImage(iVar4,param_3);\n      DestroyImageInfo(iVar4);\n      if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }\n    }" ({ "{") (expression_statement "iVar4 = CloneImageInfo(param_1);" (assignment_expression "iVar4 = CloneImageInfo(param_1)" (identifier "iVar4") (= "=") (call_expression "CloneImageInfo(param_1)" (identifier "CloneImageInfo") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar4 + 0x21f0,local_2020,0x1000)" (( "(") (binary_expression "iVar4 + 0x21f0" (identifier "iVar4") (+ "+") (number_literal "0x21f0")) (, ",") (identifier "local_2020") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar1 = ReadImage(iVar4,param_3);" (assignment_expression "iVar1 = ReadImage(iVar4,param_3)" (identifier "iVar1") (= "=") (call_expression "ReadImage(iVar4,param_3)" (identifier "ReadImage") (argument_list "(iVar4,param_3)" (( "(") (identifier "iVar4") (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "DestroyImageInfo(iVar4);" (call_expression "DestroyImageInfo(iVar4)" (identifier "DestroyImageInfo") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")"))) (; ";")) (if_statement "if (iVar1 != 0) {\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        RelinquishUniqueFileResource(local_2020);\n        iVar4 = GetFirstImageInList(iVar1);\n        if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }\n        goto LAB_0027a89f;\n      }" ({ "{") (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_2020)" (( "(") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "iVar4 = GetFirstImageInList(iVar1);" (assignment_expression "iVar4 = GetFirstImageInList(iVar1)" (identifier "iVar4") (= "=") (call_expression "GetFirstImageInList(iVar1)" (identifier "GetFirstImageInList") (argument_list "(iVar1)" (( "(") (identifier "iVar1") () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);\n        }" ({ "{") (do_statement "do {\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          } while (iVar4 != 0);" (do "do") (compound_statement "{\n            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);\n            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);\n            iVar4 = GetNextImageInList(iVar4);\n          }" ({ "{") (expression_statement "CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar4 + 0x318,param_2 + 0x318,0x1000)" (( "(") (binary_expression "iVar4 + 0x318" (identifier "iVar4") (+ "+") (number_literal "0x318")) (, ",") (binary_expression "param_2 + 0x318" (identifier "param_2") (+ "+") (number_literal "0x318")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);" (call_expression "CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000)" (identifier "CopyMagickString") (argument_list "(iVar4 + 0x2318,param_2 + 0x2318,0x1000)" (( "(") (binary_expression "iVar4 + 0x2318" (identifier "iVar4") (+ "+") (number_literal "0x2318")) (, ",") (binary_expression "param_2 + 0x2318" (identifier "param_2") (+ "+") (number_literal "0x2318")) (, ",") (number_literal "0x1000") () ")"))) (; ";")) (expression_statement "iVar4 = GetNextImageInList(iVar4);" (assignment_expression "iVar4 = GetNextImageInList(iVar4)" (identifier "iVar4") (= "=") (call_expression "GetNextImageInList(iVar4)" (identifier "GetNextImageInList") (argument_list "(iVar4)" (( "(") (identifier "iVar4") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0027a89f;" (goto "goto") (statement_identifier "LAB_0027a89f") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "RelinquishUniqueFileResource(local_2020);" (call_expression "RelinquishUniqueFileResource(local_2020)" (identifier "RelinquishUniqueFileResource") (argument_list "(local_2020)" (( "(") (identifier "local_2020") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0027a89f:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (statement_identifier "LAB_0027a89f") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" ({ "{") (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" (identifier "FUN_0029eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

type_3 * __regparm3 RenderSVGImage(type_2 *image_info,type_3 *image,ExceptionInfo *exception)

{
  int var_31;
  double var_8;
  type_1 *var_3;
  char *string;
  char *format;
  int var_21;
  type_2 *image_info_00;
  type_3 *var_27;
  type_3 *var_29;
  int var_1;
  type_4 var_10;
  type_4 __cw;
  type_5 attributes;
  char background [4096];
  char command [4096];
  char input_filename [4096];
  char opacity [4096];
  char output_filename [4096];
  char unique [4096];
  
  var_31 = *(int *)(var_1 + 0x14);
  var_3 = var_2("svg:decode",(char *)0x0,exception);
  if (var_3 == (type_1 *)0x0) {
    var_27 = (type_3 *)0x0;
  }
  else {
    var_4(image->filename,input_filename);
    var_5(unique);
    var_6(output_filename,0x1000,"%s.png",unique);
    var_5(unique);
    string = var_7("");
    var_8 = (image->resolution).x * (image->resolution).y;
    if (var_8 < 0.0) {
      var_9(var_8);
    }
    attributes.st_dev._0_2_ = var_10 & 0xf3ff | 0x800;
    var_6(string,0x1000,"%.20g",var_11(var_12(var_13(var_8) - (double)DAT_0029f124),0),
                       (int)((type_6)var_12(var_13(var_8) - (double)DAT_0029f124) >> 0x20));
    var_8 = (image->background_color).blue * var_14;
    var_6(background,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",
                       var_14 * (image->background_color).red,
                       (image->background_color).green * var_14,var_11(var_8,0),
                       (int)((type_6)var_8 >> 0x20));
    var_8 = var_15 * (image->background_color).alpha - var_16;
    var_6(opacity,0x1000,"%.20g",var_11(var_8,0),(int)((type_6)var_8 >> 0x20));
    format = var_17(var_3);
    var_6(command,0x1000,format,input_filename,output_filename,string,background,
                       opacity,unique);
    var_18(string);
    var_21 = var_19(MagickFalse,image_info->verbose,command,(char *)0x0,exception);
    var_20(unique);
    var_20(input_filename);
    if ((((var_21 == 0) && (var_21 = var_22(3,output_filename,(type_7 *)&attributes), var_21 == 0))
        && (-1 < attributes.st_size._4_4_)) &&
       ((0 < attributes.st_size._4_4_ || ((int)attributes.st_size != 0)))) {
      image_info_00 = var_23(image_info);
      var_24(image_info_00->filename,output_filename,0x1000);
      var_27 = var_25(image_info_00,exception);
      var_26(image_info_00);
      if (var_27 != (type_3 *)0x0) {
        var_20(output_filename);
        var_29 = var_28(var_27);
        if (var_29 != (type_3 *)0x0) {
          do {
            var_24(var_29->filename,image->filename,0x1000);
            var_24(var_29->magick,image->magick,0x1000);
            var_29 = var_30(var_29);
          } while (var_29 != (type_3 *)0x0);
        }
        goto LAB_0027a89f;
      }
    }
    var_27 = (type_3 *)0x0;
    var_20(output_filename);
  }
LAB_0027a89f:
  if (var_31 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_32();
  }
  return var_27;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (string_literal (string_content)) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (string_literal (string_content)) (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (pointer_expression argument: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))) (return_statement (identifier)))))

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

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

{
  double __x;
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  int iVar4;
  int in_GS_OFFSET;
  ushort in_FPUControlWord;
  stat64 local_6080;
  undefined1 local_6020 [4096];
  undefined1 local_5020 [4096];
  undefined1 local_4020 [4096];
  undefined1 local_3020 [4096];
  char local_2020 [4096];
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x27a5ab;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  iVar1 = GetDelegateInfo("svg:decode",0,param_3);
  if (iVar1 == 0) {
    iVar1 = 0;
  }
  else {
    AcquireUniqueSymbolicLink(param_2 + 0x318,local_4020);
    AcquireUniqueFilename(local_1020);
    FormatLocaleString(local_2020,0x1000,"%s.png",local_1020);
    AcquireUniqueFilename(local_1020);
    uVar2 = AcquireString(&DAT_0030570a);
    __x = *(double *)(param_2 + 0x1f0) * *(double *)(param_2 + 0x1f8);
    if (__x < 0.0) {
      sqrt(__x);
    }
    local_6080.st_dev._0_2_ = in_FPUControlWord & 0xf3ff | 0x800;
    FormatLocaleString();
    FormatLocaleString(local_6020,0x1000,"rgb(%.20g%%,%.20g%%,%.20g%%)",
                       DAT_002a8010 * *(double *)(param_2 + 0x9c),
                       *(double *)(param_2 + 0xa4) * DAT_002a8010,
                       *(double *)(param_2 + 0xac) * DAT_002a8010);
    FormatLocaleString();
    uVar3 = GetDelegateCommands(iVar1);
    FormatLocaleString(local_5020,0x1000,uVar3,local_4020,local_2020,uVar2,local_6020,local_3020,
                       local_1020);
    DestroyString(uVar2);
    iVar1 = ExternalDelegateCommand();
    RelinquishUniqueFileResource(local_1020);
    RelinquishUniqueFileResource(local_4020);
    if ((((iVar1 == 0) && (iVar1 = __xstat64(3,local_2020,&local_6080), iVar1 == 0)) &&
        (-1 < local_6080.st_size._4_4_)) &&
       ((0 < local_6080.st_size._4_4_ || ((int)local_6080.st_size != 0)))) {
      iVar4 = CloneImageInfo(param_1);
      CopyMagickString(iVar4 + 0x21f0,local_2020,0x1000);
      iVar1 = ReadImage(iVar4,param_3);
      DestroyImageInfo(iVar4);
      if (iVar1 != 0) {
        RelinquishUniqueFileResource(local_2020);
        iVar4 = GetFirstImageInList(iVar1);
        if (iVar4 != 0) {
          do {
            CopyMagickString(iVar4 + 0x318,param_2 + 0x318,0x1000);
            CopyMagickString(iVar4 + 0x2318,param_2 + 0x2318,0x1000);
            iVar4 = GetNextImageInList(iVar4);
          } while (iVar4 != 0);
        }
        goto LAB_0027a89f;
      }
    }
    iVar1 = 0;
    RelinquishUniqueFileResource(local_2020);
  }
LAB_0027a89f:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return iVar1;
}

