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

ssize_t WriteBlobLongLong(Image *image,MagickSizeType value)

{
  long lVar1;
  BlobInfo *pBVar2;
  size_t sVar3;
  uchar uVar4;
  uchar uVar5;
  uchar uVar6;
  uchar uVar7;
  uchar uVar8;
  uchar uVar9;
  uchar uVar10;
  uchar uVar11;
  MagickBooleanType MVar12;
  ssize_t sVar13;
  long in_FS_OFFSET;
  uchar buffer [8];
  
  lVar1 = *(long *)(in_FS_OFFSET + 0x28);
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,
                  "WriteBlobLongLong");
  }
  buffer[0] = (uchar)value;
  buffer[1] = (uchar)(value >> 8);
  buffer[2] = (uchar)(value >> 0x10);
  buffer[3] = (uchar)(value >> 0x18);
  buffer[4] = (uchar)(value >> 0x20);
  buffer[5] = (uchar)(value >> 0x28);
  buffer[6] = (uchar)(value >> 0x30);
  buffer[7] = (uchar)(value >> 0x38);
  if (image->endian == LSBEndian) {
    pBVar2 = image->blob;
    if (pBVar2 == (BlobInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if (pBVar2->type == UndefinedStream) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if (pBVar2->type == BlobStream) {
      if (pBVar2->extent <= pBVar2->offset + 8U) {
        sVar3 = pBVar2->quantum;
        pBVar2->quantum = sVar3 * 2;
        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);
        sVar13 = 0;
        if (MVar12 == MagickFalse) goto LAB_00166d47;
      }
      *(ulong *)(pBVar2->data + pBVar2->offset) =
           CONCAT17(buffer[7],
                    CONCAT16(buffer[6],
                             CONCAT15(buffer[5],
                                      CONCAT14(buffer[4],
                                               CONCAT13(buffer[3],
                                                        CONCAT12(buffer[2],
                                                                 CONCAT11(buffer[1],buffer[0])))))))
      ;
      sVar3 = pBVar2->offset + 8;
      pBVar2->offset = sVar3;
      sVar13 = 8;
      if ((long)pBVar2->length <= (long)sVar3) {
        pBVar2->length = sVar3;
      }
    }
    else {
      sVar13 = WriteBlob(image,8,buffer);
    }
  }
  else {
    pBVar2 = image->blob;
    if (pBVar2 == (BlobInfo *)0x0) {
      uVar4 = buffer[0];
      buffer[0] = buffer[7];
      uVar5 = buffer[1];
      buffer[1] = buffer[6];
      uVar6 = buffer[2];
      buffer[2] = buffer[5];
      uVar7 = buffer[3];
      buffer[3] = buffer[4];
      buffer[4] = uVar7;
      buffer[5] = uVar6;
      buffer[6] = uVar5;
      buffer[7] = uVar4;
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if (pBVar2->type == UndefinedStream) {
      uVar4 = buffer[0];
      buffer[0] = buffer[7];
      uVar5 = buffer[1];
      buffer[1] = buffer[6];
      uVar6 = buffer[2];
      buffer[2] = buffer[5];
      uVar7 = buffer[3];
      buffer[3] = buffer[4];
      buffer[4] = uVar7;
      buffer[5] = uVar6;
      buffer[6] = uVar5;
      buffer[7] = uVar4;
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if (pBVar2->type == BlobStream) {
      uVar4 = buffer[7];
      uVar5 = buffer[6];
      uVar6 = buffer[5];
      uVar7 = buffer[4];
      uVar8 = buffer[3];
      uVar9 = buffer[2];
      uVar10 = buffer[1];
      uVar11 = buffer[0];
      if (pBVar2->extent <= pBVar2->offset + 8U) {
        sVar3 = pBVar2->quantum;
        pBVar2->quantum = sVar3 * 2;
        uVar4 = buffer[0];
        buffer[0] = buffer[7];
        uVar5 = buffer[1];
        buffer[1] = buffer[6];
        uVar6 = buffer[2];
        buffer[2] = buffer[5];
        uVar7 = buffer[3];
        buffer[3] = buffer[4];
        buffer[4] = uVar7;
        buffer[5] = uVar6;
        buffer[6] = uVar5;
        buffer[7] = uVar4;
        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);
        sVar13 = 0;
        uVar4 = buffer[0];
        uVar5 = buffer[1];
        uVar6 = buffer[2];
        uVar7 = buffer[3];
        uVar8 = buffer[4];
        uVar9 = buffer[5];
        uVar10 = buffer[6];
        uVar11 = buffer[7];
        if (MVar12 == MagickFalse) goto LAB_00166d47;
      }
      buffer[7] = uVar11;
      buffer[6] = uVar10;
      buffer[5] = uVar9;
      buffer[4] = uVar8;
      buffer[3] = uVar7;
      buffer[2] = uVar6;
      buffer[1] = uVar5;
      buffer[0] = uVar4;
      *(ulong *)(pBVar2->data + pBVar2->offset) =
           CONCAT17(buffer[7],
                    CONCAT16(buffer[6],
                             CONCAT15(buffer[5],
                                      CONCAT14(buffer[4],
                                               CONCAT13(buffer[3],
                                                        CONCAT12(buffer[2],
                                                                 CONCAT11(buffer[1],buffer[0])))))))
      ;
      sVar3 = pBVar2->offset + 8;
      pBVar2->offset = sVar3;
      sVar13 = 8;
      if ((long)pBVar2->length <= (long)sVar3) {
        pBVar2->length = sVar3;
      }
    }
    else {
      uVar4 = buffer[0];
      buffer[0] = buffer[7];
      uVar5 = buffer[1];
      buffer[1] = buffer[6];
      uVar6 = buffer[2];
      buffer[2] = buffer[5];
      uVar7 = buffer[3];
      buffer[3] = buffer[4];
      buffer[4] = uVar7;
      buffer[5] = uVar6;
      buffer[6] = uVar5;
      buffer[7] = uVar4;
      sVar13 = WriteBlob(image,8,buffer);
    }
  }
LAB_00166d47:
  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {
    return sVar13;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



undefined8 WriteBlobLongLong(long param_1,undefined8 param_2)

{
  long *plVar1;
  long lVar2;
  undefined1 uVar3;
  undefined1 uVar4;
  undefined1 uVar5;
  undefined1 uVar6;
  undefined1 uVar7;
  undefined1 uVar8;
  undefined1 uVar9;
  undefined1 uVar10;
  int iVar11;
  undefined8 uVar12;
  long in_FS_OFFSET;
  undefined1 local_18;
  undefined1 uStack_17;
  undefined1 uStack_16;
  undefined1 uStack_15;
  undefined1 uStack_14;
  undefined1 uStack_13;
  undefined1 uStack_12;
  undefined1 uStack_11;
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");
  }
  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,
                  "WriteBlobLongLong");
  }
  local_18 = (undefined1)param_2;
  uStack_17 = (undefined1)((ulong)param_2 >> 8);
  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);
  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);
  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);
  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);
  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);
  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);
  if (*(int *)(param_1 + 0x2ac) == 1) {
    plVar1 = *(long **)(param_1 + 0x3408);
    if (plVar1 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if ((int)plVar1[10] == 0) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if ((int)plVar1[10] == 7) {
      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {
        lVar2 = plVar1[2];
        plVar1[2] = lVar2 * 2;
        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);
        uVar12 = 0;
        if (iVar11 == 0) goto LAB_00166d47;
      }
      *(ulong *)(plVar1[0x20] + plVar1[6]) =
           CONCAT17(uStack_11,
                    CONCAT16(uStack_12,
                             CONCAT15(uStack_13,
                                      CONCAT14(uStack_14,
                                               CONCAT13(uStack_15,
                                                        CONCAT12(uStack_16,
                                                                 CONCAT11(uStack_17,local_18)))))));
      lVar2 = plVar1[6] + 8;
      plVar1[6] = lVar2;
      uVar12 = 8;
      if (*plVar1 <= lVar2) {
        *plVar1 = lVar2;
      }
    }
    else {
      uVar12 = WriteBlob(param_1,8,&local_18);
    }
  }
  else {
    plVar1 = *(long **)(param_1 + 0x3408);
    if (plVar1 == (long *)0x0) {
      uVar3 = local_18;
      local_18 = uStack_11;
      uVar4 = uStack_17;
      uStack_17 = uStack_12;
      uVar5 = uStack_16;
      uStack_16 = uStack_13;
      uVar6 = uStack_15;
      uStack_15 = uStack_14;
      uStack_14 = uVar6;
      uStack_13 = uVar5;
      uStack_12 = uVar4;
      uStack_11 = uVar3;
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if ((int)plVar1[10] == 0) {
      uVar3 = local_18;
      local_18 = uStack_11;
      uVar4 = uStack_17;
      uStack_17 = uStack_12;
      uVar5 = uStack_16;
      uStack_16 = uStack_13;
      uVar6 = uStack_15;
      uStack_15 = uStack_14;
      uStack_14 = uVar6;
      uStack_13 = uVar5;
      uStack_12 = uVar4;
      uStack_11 = uVar3;
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if ((int)plVar1[10] == 7) {
      uVar3 = uStack_11;
      uVar4 = uStack_12;
      uVar5 = uStack_13;
      uVar6 = uStack_14;
      uVar7 = uStack_15;
      uVar8 = uStack_16;
      uVar9 = uStack_17;
      uVar10 = local_18;
      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {
        lVar2 = plVar1[2];
        plVar1[2] = lVar2 * 2;
        uVar3 = local_18;
        local_18 = uStack_11;
        uVar4 = uStack_17;
        uStack_17 = uStack_12;
        uVar5 = uStack_16;
        uStack_16 = uStack_13;
        uVar6 = uStack_15;
        uStack_15 = uStack_14;
        uStack_14 = uVar6;
        uStack_13 = uVar5;
        uStack_12 = uVar4;
        uStack_11 = uVar3;
        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);
        uVar12 = 0;
        uVar3 = local_18;
        uVar4 = uStack_17;
        uVar5 = uStack_16;
        uVar6 = uStack_15;
        uVar7 = uStack_14;
        uVar8 = uStack_13;
        uVar9 = uStack_12;
        uVar10 = uStack_11;
        if (iVar11 == 0) goto LAB_00166d47;
      }
      uStack_11 = uVar10;
      uStack_12 = uVar9;
      uStack_13 = uVar8;
      uStack_14 = uVar7;
      uStack_15 = uVar6;
      uStack_16 = uVar5;
      uStack_17 = uVar4;
      local_18 = uVar3;
      *(ulong *)(plVar1[0x20] + plVar1[6]) =
           CONCAT17(uStack_11,
                    CONCAT16(uStack_12,
                             CONCAT15(uStack_13,
                                      CONCAT14(uStack_14,
                                               CONCAT13(uStack_15,
                                                        CONCAT12(uStack_16,
                                                                 CONCAT11(uStack_17,local_18)))))));
      lVar2 = plVar1[6] + 8;
      plVar1[6] = lVar2;
      uVar12 = 8;
      if (*plVar1 <= lVar2) {
        *plVar1 = lVar2;
      }
    }
    else {
      uVar3 = local_18;
      local_18 = uStack_11;
      uVar4 = uStack_17;
      uStack_17 = uStack_12;
      uVar5 = uStack_16;
      uStack_16 = uStack_13;
      uVar6 = uStack_15;
      uStack_15 = uStack_14;
      uStack_14 = uVar6;
      uStack_13 = uVar5;
      uStack_12 = uVar4;
      uStack_11 = uVar3;
      uVar12 = WriteBlob(param_1,8,&local_18);
    }
  }
LAB_00166d47:
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar12;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH RBX
SUB RSP,0x10
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x8],RAX
XOR EAX,EAX
TEST RDI,RDI
JZ 0x00166b97
MOV EAX,0xabacadab
CMP qword ptr [RDI + 0x3450],RAX
JNZ 0x00166bb6
CMP dword ptr [RDI + 0x2ac],0x1
JZ 0x00166bd5
MOV RAX,RSI
SHR RAX,0x38
MOV byte ptr [RSP],AL
MOV RAX,RSI
SHR RAX,0x30
MOV byte ptr [RSP + 0x1],AL
MOV RAX,RSI
SHR RAX,0x28
MOV byte ptr [RSP + 0x2],AL
MOV RAX,RSI
SHR RAX,0x20
MOV byte ptr [RSP + 0x3],AL
MOV RAX,RSI
SHR RAX,0x18
MOV byte ptr [RSP + 0x4],AL
MOV RAX,RSI
SHR RAX,0x10
MOV byte ptr [RSP + 0x5],AL
MOV RAX,RSI
SHR RAX,0x8
MOV byte ptr [RSP + 0x6],AL
MOV byte ptr [RSP + 0x7],SIL
MOV RBX,qword ptr [RDI + 0x3408]
TEST RBX,RBX
JZ 0x00166cfc
MOV EAX,dword ptr [RBX + 0x50]
TEST EAX,EAX
JZ 0x00166d1b
CMP EAX,0x7
JNZ 0x00166d3a
MOV RDX,qword ptr [RBX + 0x8]
MOV RAX,qword ptr [RBX + 0x30]
ADD RAX,0x8
CMP RAX,RDX
JC 0x00166b62
MOV RAX,qword ptr [RBX + 0x10]
LEA RCX,[RAX + RAX*0x1]
MOV qword ptr [RBX + 0x10],RCX
LEA RSI,[RDX + RAX*0x1 + 0x8]
CALL 0x0014b3f0
MOV EDX,EAX
MOV EAX,0x0
TEST EDX,EDX
JZ 0x00166d47
MOV RDX,qword ptr [RBX + 0x100]
MOV RAX,qword ptr [RBX + 0x30]
MOV RCX,qword ptr [RSP]
MOV qword ptr [RDX + RAX*0x1],RCX
MOV RAX,qword ptr [RBX + 0x30]
LEA RDX,[RAX + 0x8]
MOV qword ptr [RBX + 0x30],RDX
MOV EAX,0x8
CMP RDX,qword ptr [RBX]
JL 0x00166d47
MOV qword ptr [RBX],RDX
JMP 0x00166d47
LEA RCX,[0x3fab80]
MOV EDX,0x176c
LEA RSI,[0x3fa404]
LEA RDI,[0x420571]
CALL 0x0014a360
LEA RCX,[0x3fab80]
MOV EDX,0x176d
LEA RSI,[0x3fa404]
LEA RDI,[0x3f98f0]
CALL 0x0014a360
MOV byte ptr [RSP],SIL
MOV RAX,RSI
SHR RAX,0x8
MOV byte ptr [RSP + 0x1],AL
MOV RAX,RSI
SHR RAX,0x10
MOV byte ptr [RSP + 0x2],AL
MOV RAX,RSI
SHR RAX,0x18
MOV byte ptr [RSP + 0x3],AL
MOV RAX,RSI
SHR RAX,0x20
MOV byte ptr [RSP + 0x4],AL
MOV RAX,RSI
SHR RAX,0x28
MOV byte ptr [RSP + 0x5],AL
MOV RAX,RSI
SHR RAX,0x30
MOV byte ptr [RSP + 0x6],AL
SHR RSI,0x38
MOV byte ptr [RSP + 0x7],SIL
MOV RBX,qword ptr [RDI + 0x3408]
TEST RBX,RBX
JZ 0x00166caf
MOV EAX,dword ptr [RBX + 0x50]
TEST EAX,EAX
JZ 0x00166cce
CMP EAX,0x7
JNZ 0x00166ced
MOV RDX,qword ptr [RBX + 0x8]
MOV RAX,qword ptr [RBX + 0x30]
ADD RAX,0x8
CMP RAX,RDX
JC 0x00166c7a
MOV RAX,qword ptr [RBX + 0x10]
LEA RCX,[RAX + RAX*0x1]
MOV qword ptr [RBX + 0x10],RCX
LEA RSI,[RDX + RAX*0x1 + 0x8]
CALL 0x0014b3f0
MOV EDX,EAX
MOV EAX,0x0
TEST EDX,EDX
JZ 0x00166d47
MOV RDX,qword ptr [RBX + 0x100]
MOV RAX,qword ptr [RBX + 0x30]
MOV RCX,qword ptr [RSP]
MOV qword ptr [RDX + RAX*0x1],RCX
MOV RAX,qword ptr [RBX + 0x30]
LEA RDX,[RAX + 0x8]
MOV qword ptr [RBX + 0x30],RDX
MOV EAX,0x8
CMP RDX,qword ptr [RBX]
JL 0x00166d47
MOV qword ptr [RBX],RDX
JMP 0x00166d47
LEA RCX,[0x3fb0e0]
MOV EDX,0x638
LEA RSI,[0x3fa404]
LEA RDI,[0x3fa5e0]
CALL 0x0014a360
LEA RCX,[0x3fb0e0]
MOV EDX,0x639
LEA RSI,[0x3fa404]
LEA RDI,[0x3fa608]
CALL 0x0014a360
MOV RDX,RSP
MOV ESI,0x8
CALL 0x00149a50
JMP 0x00166d47
LEA RCX,[0x3fb0e0]
MOV EDX,0x638
LEA RSI,[0x3fa404]
LEA RDI,[0x3fa5e0]
CALL 0x0014a360
LEA RCX,[0x3fb0e0]
MOV EDX,0x639
LEA RSI,[0x3fa404]
LEA RDI,[0x3fa608]
CALL 0x0014a360
MOV RDX,RSP
MOV ESI,0x8
CALL 0x00149a50
MOV RCX,qword ptr [RSP + 0x8]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x00166d5d
ADD RSP,0x10
POP RBX
RET
CALL 0x0014c5c0
(translation_unit "undefined8 WriteBlobLongLong(long param_1,undefined8 param_2)\n\n{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 WriteBlobLongLong(long param_1,undefined8 param_2)\n\n{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" type_identifier (function_declarator "WriteBlobLongLong(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "undefined1 uVar4;" type_identifier identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "undefined1 uVar7;" type_identifier identifier ;) (declaration "undefined1 uVar8;" type_identifier identifier ;) (declaration "undefined1 uVar9;" type_identifier identifier ;) (declaration "undefined1 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_18;" type_identifier identifier ;) (declaration "undefined1 uStack_17;" type_identifier identifier ;) (declaration "undefined1 uStack_16;" type_identifier identifier ;) (declaration "undefined1 uStack_15;" type_identifier identifier ;) (declaration "undefined1 uStack_14;" type_identifier identifier ;) (declaration "undefined1 uStack_13;" type_identifier identifier ;) (declaration "undefined1 uStack_12;" type_identifier identifier ;) (declaration "undefined1 uStack_11;" type_identifier identifier ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" identifier (argument_list "("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobLongLong"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3450) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3450) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3450)" * (cast_expression "(long *)(param_1 + 0x3450)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3450)" ( (binary_expression "param_1 + 0x3450" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobLongLong"" " string_content ") ))) ;) })) (expression_statement "local_18 = (undefined1)param_2;" (assignment_expression "local_18 = (undefined1)param_2" identifier = (cast_expression "(undefined1)param_2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uStack_17 = (undefined1)((ulong)param_2 >> 8);" (assignment_expression "uStack_17 = (undefined1)((ulong)param_2 >> 8)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 8)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 8)" ( (binary_expression "(ulong)param_2 >> 8" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_16 = (undefined1)((ulong)param_2 >> 0x10);" (assignment_expression "uStack_16 = (undefined1)((ulong)param_2 >> 0x10)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x10)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x10)" ( (binary_expression "(ulong)param_2 >> 0x10" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_15 = (undefined1)((ulong)param_2 >> 0x18);" (assignment_expression "uStack_15 = (undefined1)((ulong)param_2 >> 0x18)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x18)" ( (binary_expression "(ulong)param_2 >> 0x18" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_14 = (undefined1)((ulong)param_2 >> 0x20);" (assignment_expression "uStack_14 = (undefined1)((ulong)param_2 >> 0x20)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x20)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x20)" ( (binary_expression "(ulong)param_2 >> 0x20" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_13 = (undefined1)((ulong)param_2 >> 0x28);" (assignment_expression "uStack_13 = (undefined1)((ulong)param_2 >> 0x28)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x28)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x28)" ( (binary_expression "(ulong)param_2 >> 0x28" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_12 = (undefined1)((ulong)param_2 >> 0x30);" (assignment_expression "uStack_12 = (undefined1)((ulong)param_2 >> 0x30)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x30)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x30)" ( (binary_expression "(ulong)param_2 >> 0x30" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_11 = (undefined1)((ulong)param_2 >> 0x38);" (assignment_expression "uStack_11 = (undefined1)((ulong)param_2 >> 0x38)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x38)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x38)" ( (binary_expression "(ulong)param_2 >> 0x38" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x2ac) == 1)" ( (binary_expression "*(int *)(param_1 + 0x2ac) == 1" (pointer_expression "*(int *)(param_1 + 0x2ac)" * (cast_expression "(int *)(param_1 + 0x2ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2ac)" ( (binary_expression "param_1 + 0x2ac" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" { (expression_statement "plVar1 = *(long **)(param_1 + 0x3408);" (assignment_expression "plVar1 = *(long **)(param_1 + 0x3408)" identifier = (pointer_expression "*(long **)(param_1 + 0x3408)" * (cast_expression "(long **)(param_1 + 0x3408)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3408)" ( (binary_expression "param_1 + 0x3408" identifier + number_literal) ))))) ;) (if_statement "if (plVar1 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" if (parenthesized_expression "(plVar1 == (long *)0x0)" ( (binary_expression "plVar1 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" { comment (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" identifier (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" ( (string_literal ""image->blob != (BlobInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" if (parenthesized_expression "((int)plVar1[10] == 0)" ( (binary_expression "(int)plVar1[10] == 0" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" { comment (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" identifier (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" ( (string_literal ""image->blob->type != UndefinedStream"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" if (parenthesized_expression "((int)plVar1[10] == 7)" ( (binary_expression "(int)plVar1[10] == 7" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }" { (if_statement "if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" if (parenthesized_expression "((ulong)plVar1[1] <= plVar1[6] + 8U)" ( (binary_expression "(ulong)plVar1[1] <= plVar1[6] + 8U" (cast_expression "(ulong)plVar1[1]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar1[1]" identifier [ number_literal ])) <= (binary_expression "plVar1[6] + 8U" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" { (expression_statement "lVar2 = plVar1[2];" (assignment_expression "lVar2 = plVar1[2]" identifier = (subscript_expression "plVar1[2]" identifier [ number_literal ])) ;) (expression_statement "plVar1[2] = lVar2 * 2;" (assignment_expression "plVar1[2] = lVar2 * 2" (subscript_expression "plVar1[2]" identifier [ number_literal ]) = (binary_expression "lVar2 * 2" identifier * number_literal)) ;) (expression_statement "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);" (assignment_expression "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier = (call_expression "SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier (argument_list "(param_1,plVar1[1] + 8U + lVar2)" ( identifier , (binary_expression "plVar1[1] + 8U + lVar2" (binary_expression "plVar1[1] + 8U" (subscript_expression "plVar1[1]" identifier [ number_literal ]) + number_literal) + identifier) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (if_statement "if (iVar11 == 0) goto LAB_00166d47;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00166d47;" goto statement_identifier ;)) })) (expression_statement "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));" (assignment_expression "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (pointer_expression "*(ulong *)(plVar1[0x20] + plVar1[6])" * (cast_expression "(ulong *)(plVar1[0x20] + plVar1[6])" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar1[0x20] + plVar1[6])" ( (binary_expression "plVar1[0x20] + plVar1[6]" (subscript_expression "plVar1[0x20]" identifier [ number_literal ]) + (subscript_expression "plVar1[6]" identifier [ number_literal ])) )))) = (call_expression "CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" identifier (argument_list "(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" ( identifier , (call_expression "CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" identifier (argument_list "(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" ( identifier , (call_expression "CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" identifier (argument_list "(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" ( identifier , (call_expression "CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" identifier (argument_list "(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" ( identifier , (call_expression "CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" identifier (argument_list "(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" ( identifier , (call_expression "CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" identifier (argument_list "(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" ( identifier , (call_expression "CONCAT11(uStack_17,local_18)" identifier (argument_list "(uStack_17,local_18)" ( identifier , identifier ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement "lVar2 = plVar1[6] + 8;" (assignment_expression "lVar2 = plVar1[6] + 8" identifier = (binary_expression "plVar1[6] + 8" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "plVar1[6] = lVar2;" (assignment_expression "plVar1[6] = lVar2" (subscript_expression "plVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (if_statement "if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }" if (parenthesized_expression "(*plVar1 <= lVar2)" ( (binary_expression "*plVar1 <= lVar2" (pointer_expression "*plVar1" * identifier) <= identifier) )) (compound_statement "{\n        *plVar1 = lVar2;\n      }" { (expression_statement "*plVar1 = lVar2;" (assignment_expression "*plVar1 = lVar2" (pointer_expression "*plVar1" * identifier) = identifier) ;) })) }) (else_clause "else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" else (compound_statement "{\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" { (expression_statement "uVar12 = WriteBlob(param_1,8,&local_18);" (assignment_expression "uVar12 = WriteBlob(param_1,8,&local_18)" identifier = (call_expression "WriteBlob(param_1,8,&local_18)" identifier (argument_list "(param_1,8,&local_18)" ( identifier , number_literal , (pointer_expression "&local_18" & identifier) )))) ;) }))) }) (else_clause "else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" else (compound_statement "{\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" { (expression_statement "plVar1 = *(long **)(param_1 + 0x3408);" (assignment_expression "plVar1 = *(long **)(param_1 + 0x3408)" identifier = (pointer_expression "*(long **)(param_1 + 0x3408)" * (cast_expression "(long **)(param_1 + 0x3408)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3408)" ( (binary_expression "param_1 + 0x3408" identifier + number_literal) ))))) ;) (if_statement "if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" if (parenthesized_expression "(plVar1 == (long *)0x0)" ( (binary_expression "plVar1 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" { (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) comment (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" identifier (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" ( (string_literal ""image->blob != (BlobInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" if (parenthesized_expression "((int)plVar1[10] == 0)" ( (binary_expression "(int)plVar1[10] == 0" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" { (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) comment (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" identifier (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" ( (string_literal ""image->blob->type != UndefinedStream"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" if (parenthesized_expression "((int)plVar1[10] == 7)" ( (binary_expression "(int)plVar1[10] == 7" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }" { (expression_statement "uVar3 = uStack_11;" (assignment_expression "uVar3 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_12;" (assignment_expression "uVar4 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_13;" (assignment_expression "uVar5 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_14;" (assignment_expression "uVar6 = uStack_14" identifier = identifier) ;) (expression_statement "uVar7 = uStack_15;" (assignment_expression "uVar7 = uStack_15" identifier = identifier) ;) (expression_statement "uVar8 = uStack_16;" (assignment_expression "uVar8 = uStack_16" identifier = identifier) ;) (expression_statement "uVar9 = uStack_17;" (assignment_expression "uVar9 = uStack_17" identifier = identifier) ;) (expression_statement "uVar10 = local_18;" (assignment_expression "uVar10 = local_18" identifier = identifier) ;) (if_statement "if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" if (parenthesized_expression "((ulong)plVar1[1] <= plVar1[6] + 8U)" ( (binary_expression "(ulong)plVar1[1] <= plVar1[6] + 8U" (cast_expression "(ulong)plVar1[1]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar1[1]" identifier [ number_literal ])) <= (binary_expression "plVar1[6] + 8U" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" { (expression_statement "lVar2 = plVar1[2];" (assignment_expression "lVar2 = plVar1[2]" identifier = (subscript_expression "plVar1[2]" identifier [ number_literal ])) ;) (expression_statement "plVar1[2] = lVar2 * 2;" (assignment_expression "plVar1[2] = lVar2 * 2" (subscript_expression "plVar1[2]" identifier [ number_literal ]) = (binary_expression "lVar2 * 2" identifier * number_literal)) ;) (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) (expression_statement "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);" (assignment_expression "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier = (call_expression "SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier (argument_list "(param_1,plVar1[1] + 8U + lVar2)" ( identifier , (binary_expression "plVar1[1] + 8U + lVar2" (binary_expression "plVar1[1] + 8U" (subscript_expression "plVar1[1]" identifier [ number_literal ]) + number_literal) + identifier) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uVar7 = uStack_14;" (assignment_expression "uVar7 = uStack_14" identifier = identifier) ;) (expression_statement "uVar8 = uStack_13;" (assignment_expression "uVar8 = uStack_13" identifier = identifier) ;) (expression_statement "uVar9 = uStack_12;" (assignment_expression "uVar9 = uStack_12" identifier = identifier) ;) (expression_statement "uVar10 = uStack_11;" (assignment_expression "uVar10 = uStack_11" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_00166d47;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00166d47;" goto statement_identifier ;)) })) (expression_statement "uStack_11 = uVar10;" (assignment_expression "uStack_11 = uVar10" identifier = identifier) ;) (expression_statement "uStack_12 = uVar9;" (assignment_expression "uStack_12 = uVar9" identifier = identifier) ;) (expression_statement "uStack_13 = uVar8;" (assignment_expression "uStack_13 = uVar8" identifier = identifier) ;) (expression_statement "uStack_14 = uVar7;" (assignment_expression "uStack_14 = uVar7" identifier = identifier) ;) (expression_statement "uStack_15 = uVar6;" (assignment_expression "uStack_15 = uVar6" identifier = identifier) ;) (expression_statement "uStack_16 = uVar5;" (assignment_expression "uStack_16 = uVar5" identifier = identifier) ;) (expression_statement "uStack_17 = uVar4;" (assignment_expression "uStack_17 = uVar4" identifier = identifier) ;) (expression_statement "local_18 = uVar3;" (assignment_expression "local_18 = uVar3" identifier = identifier) ;) (expression_statement "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));" (assignment_expression "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (pointer_expression "*(ulong *)(plVar1[0x20] + plVar1[6])" * (cast_expression "(ulong *)(plVar1[0x20] + plVar1[6])" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar1[0x20] + plVar1[6])" ( (binary_expression "plVar1[0x20] + plVar1[6]" (subscript_expression "plVar1[0x20]" identifier [ number_literal ]) + (subscript_expression "plVar1[6]" identifier [ number_literal ])) )))) = (call_expression "CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" identifier (argument_list "(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" ( identifier , (call_expression "CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" identifier (argument_list "(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" ( identifier , (call_expression "CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" identifier (argument_list "(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" ( identifier , (call_expression "CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" identifier (argument_list "(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" ( identifier , (call_expression "CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" identifier (argument_list "(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" ( identifier , (call_expression "CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" identifier (argument_list "(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" ( identifier , (call_expression "CONCAT11(uStack_17,local_18)" identifier (argument_list "(uStack_17,local_18)" ( identifier , identifier ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement "lVar2 = plVar1[6] + 8;" (assignment_expression "lVar2 = plVar1[6] + 8" identifier = (binary_expression "plVar1[6] + 8" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "plVar1[6] = lVar2;" (assignment_expression "plVar1[6] = lVar2" (subscript_expression "plVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (if_statement "if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }" if (parenthesized_expression "(*plVar1 <= lVar2)" ( (binary_expression "*plVar1 <= lVar2" (pointer_expression "*plVar1" * identifier) <= identifier) )) (compound_statement "{\n        *plVar1 = lVar2;\n      }" { (expression_statement "*plVar1 = lVar2;" (assignment_expression "*plVar1 = lVar2" (pointer_expression "*plVar1" * identifier) = identifier) ;) })) }) (else_clause "else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" else (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" { (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) (expression_statement "uVar12 = WriteBlob(param_1,8,&local_18);" (assignment_expression "uVar12 = WriteBlob(param_1,8,&local_18)" identifier = (call_expression "WriteBlob(param_1,8,&local_18)" identifier (argument_list "(param_1,8,&local_18)" ( identifier , number_literal , (pointer_expression "&local_18" & identifier) )))) ;) }))) }))) (labeled_statement "LAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }" statement_identifier : (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar12;\n  }" { (return_statement "return uVar12;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n\nssize_t WriteBlobLongLong(Image *image,MagickSizeType value)\n\n{\n  long lVar1;\n  BlobInfo *pBVar2;\n  size_t sVar3;\n  uchar uVar4;\n  uchar uVar5;\n  uchar uVar6;\n  uchar uVar7;\n  uchar uVar8;\n  uchar uVar9;\n  uchar uVar10;\n  uchar uVar11;\n  MagickBooleanType MVar12;\n  ssize_t sVar13;\n  long in_FS_OFFSET;\n  uchar buffer [8];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  buffer[0] = (uchar)value;\n  buffer[1] = (uchar)(value >> 8);\n  buffer[2] = (uchar)(value >> 0x10);\n  buffer[3] = (uchar)(value >> 0x18);\n  buffer[4] = (uchar)(value >> 0x20);\n  buffer[5] = (uchar)(value >> 0x28);\n  buffer[6] = (uchar)(value >> 0x30);\n  buffer[7] = (uchar)(value >> 0x38);\n  if (image->endian == LSBEndian) {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\n  else {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\nLAB_00166d47:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return sVar13;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment comment comment comment (function_definition "ssize_t WriteBlobLongLong(Image *image,MagickSizeType value)\n\n{\n  long lVar1;\n  BlobInfo *pBVar2;\n  size_t sVar3;\n  uchar uVar4;\n  uchar uVar5;\n  uchar uVar6;\n  uchar uVar7;\n  uchar uVar8;\n  uchar uVar9;\n  uchar uVar10;\n  uchar uVar11;\n  MagickBooleanType MVar12;\n  ssize_t sVar13;\n  long in_FS_OFFSET;\n  uchar buffer [8];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  buffer[0] = (uchar)value;\n  buffer[1] = (uchar)(value >> 8);\n  buffer[2] = (uchar)(value >> 0x10);\n  buffer[3] = (uchar)(value >> 0x18);\n  buffer[4] = (uchar)(value >> 0x20);\n  buffer[5] = (uchar)(value >> 0x28);\n  buffer[6] = (uchar)(value >> 0x30);\n  buffer[7] = (uchar)(value >> 0x38);\n  if (image->endian == LSBEndian) {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\n  else {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\nLAB_00166d47:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return sVar13;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "WriteBlobLongLong(Image *image,MagickSizeType value)" identifier (parameter_list "(Image *image,MagickSizeType value)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "MagickSizeType value" type_identifier identifier) ))) (compound_statement "{\n  long lVar1;\n  BlobInfo *pBVar2;\n  size_t sVar3;\n  uchar uVar4;\n  uchar uVar5;\n  uchar uVar6;\n  uchar uVar7;\n  uchar uVar8;\n  uchar uVar9;\n  uchar uVar10;\n  uchar uVar11;\n  MagickBooleanType MVar12;\n  ssize_t sVar13;\n  long in_FS_OFFSET;\n  uchar buffer [8];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  buffer[0] = (uchar)value;\n  buffer[1] = (uchar)(value >> 8);\n  buffer[2] = (uchar)(value >> 0x10);\n  buffer[3] = (uchar)(value >> 0x18);\n  buffer[4] = (uchar)(value >> 0x20);\n  buffer[5] = (uchar)(value >> 0x28);\n  buffer[6] = (uchar)(value >> 0x30);\n  buffer[7] = (uchar)(value >> 0x38);\n  if (image->endian == LSBEndian) {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\n  else {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\nLAB_00166d47:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return sVar13;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "BlobInfo *pBVar2;" type_identifier (pointer_declarator "*pBVar2" * identifier) ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "uchar uVar4;" type_identifier identifier ;) (declaration "uchar uVar5;" type_identifier identifier ;) (declaration "uchar uVar6;" type_identifier identifier ;) (declaration "uchar uVar7;" type_identifier identifier ;) (declaration "uchar uVar8;" type_identifier identifier ;) (declaration "uchar uVar9;" type_identifier identifier ;) (declaration "uchar uVar10;" type_identifier identifier ;) (declaration "uchar uVar11;" type_identifier identifier ;) (declaration "MagickBooleanType MVar12;" type_identifier identifier ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "uchar buffer [8];" type_identifier (array_declarator "buffer [8]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar1 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" identifier (argument_list "("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobLongLong"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobLongLong"" " string_content ") ))) ;) })) (expression_statement "buffer[0] = (uchar)value;" (assignment_expression "buffer[0] = (uchar)value" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (cast_expression "(uchar)value" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "buffer[1] = (uchar)(value >> 8);" (assignment_expression "buffer[1] = (uchar)(value >> 8)" (subscript_expression "buffer[1]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 8)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 8)" ( (binary_expression "value >> 8" identifier >> number_literal) )))) ;) (expression_statement "buffer[2] = (uchar)(value >> 0x10);" (assignment_expression "buffer[2] = (uchar)(value >> 0x10)" (subscript_expression "buffer[2]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 0x10)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 0x10)" ( (binary_expression "value >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buffer[3] = (uchar)(value >> 0x18);" (assignment_expression "buffer[3] = (uchar)(value >> 0x18)" (subscript_expression "buffer[3]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 0x18)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 0x18)" ( (binary_expression "value >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buffer[4] = (uchar)(value >> 0x20);" (assignment_expression "buffer[4] = (uchar)(value >> 0x20)" (subscript_expression "buffer[4]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 0x20)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 0x20)" ( (binary_expression "value >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "buffer[5] = (uchar)(value >> 0x28);" (assignment_expression "buffer[5] = (uchar)(value >> 0x28)" (subscript_expression "buffer[5]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 0x28)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 0x28)" ( (binary_expression "value >> 0x28" identifier >> number_literal) )))) ;) (expression_statement "buffer[6] = (uchar)(value >> 0x30);" (assignment_expression "buffer[6] = (uchar)(value >> 0x30)" (subscript_expression "buffer[6]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 0x30)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 0x30)" ( (binary_expression "value >> 0x30" identifier >> number_literal) )))) ;) (expression_statement "buffer[7] = (uchar)(value >> 0x38);" (assignment_expression "buffer[7] = (uchar)(value >> 0x38)" (subscript_expression "buffer[7]" identifier [ number_literal ]) = (call_expression "(uchar)(value >> 0x38)" (parenthesized_expression "(uchar)" ( identifier )) (argument_list "(value >> 0x38)" ( (binary_expression "value >> 0x38" identifier >> number_literal) )))) ;) (if_statement "if (image->endian == LSBEndian) {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }\n  else {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }" if (parenthesized_expression "(image->endian == LSBEndian)" ( (binary_expression "image->endian == LSBEndian" (field_expression "image->endian" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }" { (expression_statement "pBVar2 = image->blob;" (assignment_expression "pBVar2 = image->blob" identifier = (field_expression "image->blob" identifier -> field_identifier)) ;) (if_statement "if (pBVar2 == (BlobInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" if (parenthesized_expression "(pBVar2 == (BlobInfo *)0x0)" ( (binary_expression "pBVar2 == (BlobInfo *)0x0" identifier == (cast_expression "(BlobInfo *)0x0" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" { comment (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" identifier (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" ( (string_literal ""image->blob != (BlobInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if (pBVar2->type == UndefinedStream) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" if (parenthesized_expression "(pBVar2->type == UndefinedStream)" ( (binary_expression "pBVar2->type == UndefinedStream" (field_expression "pBVar2->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" { comment (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" identifier (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" ( (string_literal ""image->blob->type != UndefinedStream"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if (pBVar2->type == BlobStream) {\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }" if (parenthesized_expression "(pBVar2->type == BlobStream)" ( (binary_expression "pBVar2->type == BlobStream" (field_expression "pBVar2->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }" { (if_statement "if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }" if (parenthesized_expression "(pBVar2->extent <= pBVar2->offset + 8U)" ( (binary_expression "pBVar2->extent <= pBVar2->offset + 8U" (field_expression "pBVar2->extent" identifier -> field_identifier) <= (binary_expression "pBVar2->offset + 8U" (field_expression "pBVar2->offset" identifier -> field_identifier) + number_literal)) )) (compound_statement "{\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }" { (expression_statement "sVar3 = pBVar2->quantum;" (assignment_expression "sVar3 = pBVar2->quantum" identifier = (field_expression "pBVar2->quantum" identifier -> field_identifier)) ;) (expression_statement "pBVar2->quantum = sVar3 * 2;" (assignment_expression "pBVar2->quantum = sVar3 * 2" (field_expression "pBVar2->quantum" identifier -> field_identifier) = (binary_expression "sVar3 * 2" identifier * number_literal)) ;) (expression_statement "MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);" (assignment_expression "MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3)" identifier = (call_expression "SetBlobExtent(image,pBVar2->extent + 8 + sVar3)" identifier (argument_list "(image,pBVar2->extent + 8 + sVar3)" ( identifier , (binary_expression "pBVar2->extent + 8 + sVar3" (binary_expression "pBVar2->extent + 8" (field_expression "pBVar2->extent" identifier -> field_identifier) + number_literal) + identifier) )))) ;) (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (if_statement "if (MVar12 == MagickFalse) goto LAB_00166d47;" if (parenthesized_expression "(MVar12 == MagickFalse)" ( (binary_expression "MVar12 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_00166d47;" goto statement_identifier ;)) })) (expression_statement "*(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;" (assignment_expression "*(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))" (pointer_expression "*(ulong *)(pBVar2->data + pBVar2->offset)" * (cast_expression "(ulong *)(pBVar2->data + pBVar2->offset)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pBVar2->data + pBVar2->offset)" ( (binary_expression "pBVar2->data + pBVar2->offset" (field_expression "pBVar2->data" identifier -> field_identifier) + (field_expression "pBVar2->offset" identifier -> field_identifier)) )))) = (call_expression "CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))" identifier (argument_list "(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))" ( (subscript_expression "buffer[7]" identifier [ number_literal ]) , (call_expression "CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))))" identifier (argument_list "(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))))" ( (subscript_expression "buffer[6]" identifier [ number_literal ]) , (call_expression "CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))" identifier (argument_list "(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))" ( (subscript_expression "buffer[5]" identifier [ number_literal ]) , (call_expression "CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))" identifier (argument_list "(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))" ( (subscript_expression "buffer[4]" identifier [ number_literal ]) , (call_expression "CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))" identifier (argument_list "(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))" ( (subscript_expression "buffer[3]" identifier [ number_literal ]) , (call_expression "CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))" identifier (argument_list "(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))" ( (subscript_expression "buffer[2]" identifier [ number_literal ]) , (call_expression "CONCAT11(buffer[1],buffer[0])" identifier (argument_list "(buffer[1],buffer[0])" ( (subscript_expression "buffer[1]" identifier [ number_literal ]) , (subscript_expression "buffer[0]" identifier [ number_literal ]) ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement "sVar3 = pBVar2->offset + 8;" (assignment_expression "sVar3 = pBVar2->offset + 8" identifier = (binary_expression "pBVar2->offset + 8" (field_expression "pBVar2->offset" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pBVar2->offset = sVar3;" (assignment_expression "pBVar2->offset = sVar3" (field_expression "pBVar2->offset" identifier -> field_identifier) = identifier) ;) (expression_statement "sVar13 = 8;" (assignment_expression "sVar13 = 8" identifier = number_literal) ;) (if_statement "if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }" if (parenthesized_expression "((long)pBVar2->length <= (long)sVar3)" ( (binary_expression "(long)pBVar2->length <= (long)sVar3" (cast_expression "(long)pBVar2->length" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "pBVar2->length" identifier -> field_identifier)) <= (cast_expression "(long)sVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n        pBVar2->length = sVar3;\n      }" { (expression_statement "pBVar2->length = sVar3;" (assignment_expression "pBVar2->length = sVar3" (field_expression "pBVar2->length" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n      sVar13 = WriteBlob(image,8,buffer);\n    }" else (compound_statement "{\n      sVar13 = WriteBlob(image,8,buffer);\n    }" { (expression_statement "sVar13 = WriteBlob(image,8,buffer);" (assignment_expression "sVar13 = WriteBlob(image,8,buffer)" identifier = (call_expression "WriteBlob(image,8,buffer)" identifier (argument_list "(image,8,buffer)" ( identifier , number_literal , identifier )))) ;) }))) }) (else_clause "else {\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }" else (compound_statement "{\n    pBVar2 = image->blob;\n    if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }\n  }" { (expression_statement "pBVar2 = image->blob;" (assignment_expression "pBVar2 = image->blob" identifier = (field_expression "image->blob" identifier -> field_identifier)) ;) (if_statement "if (pBVar2 == (BlobInfo *)0x0) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" if (parenthesized_expression "(pBVar2 == (BlobInfo *)0x0)" ( (binary_expression "pBVar2 == (BlobInfo *)0x0" identifier == (cast_expression "(BlobInfo *)0x0" ( (type_descriptor "BlobInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" { (expression_statement "uVar4 = buffer[0];" (assignment_expression "uVar4 = buffer[0]" identifier = (subscript_expression "buffer[0]" identifier [ number_literal ])) ;) (expression_statement "buffer[0] = buffer[7];" (assignment_expression "buffer[0] = buffer[7]" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (subscript_expression "buffer[7]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = buffer[1];" (assignment_expression "uVar5 = buffer[1]" identifier = (subscript_expression "buffer[1]" identifier [ number_literal ])) ;) (expression_statement "buffer[1] = buffer[6];" (assignment_expression "buffer[1] = buffer[6]" (subscript_expression "buffer[1]" identifier [ number_literal ]) = (subscript_expression "buffer[6]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = buffer[2];" (assignment_expression "uVar6 = buffer[2]" identifier = (subscript_expression "buffer[2]" identifier [ number_literal ])) ;) (expression_statement "buffer[2] = buffer[5];" (assignment_expression "buffer[2] = buffer[5]" (subscript_expression "buffer[2]" identifier [ number_literal ]) = (subscript_expression "buffer[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = buffer[3];" (assignment_expression "uVar7 = buffer[3]" identifier = (subscript_expression "buffer[3]" identifier [ number_literal ])) ;) (expression_statement "buffer[3] = buffer[4];" (assignment_expression "buffer[3] = buffer[4]" (subscript_expression "buffer[3]" identifier [ number_literal ]) = (subscript_expression "buffer[4]" identifier [ number_literal ])) ;) (expression_statement "buffer[4] = uVar7;" (assignment_expression "buffer[4] = uVar7" (subscript_expression "buffer[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[5] = uVar6;" (assignment_expression "buffer[5] = uVar6" (subscript_expression "buffer[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[6] = uVar5;" (assignment_expression "buffer[6] = uVar5" (subscript_expression "buffer[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[7] = uVar4;" (assignment_expression "buffer[7] = uVar4" (subscript_expression "buffer[7]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" identifier (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" ( (string_literal ""image->blob != (BlobInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if (pBVar2->type == UndefinedStream) {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" if (parenthesized_expression "(pBVar2->type == UndefinedStream)" ( (binary_expression "pBVar2->type == UndefinedStream" (field_expression "pBVar2->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" { (expression_statement "uVar4 = buffer[0];" (assignment_expression "uVar4 = buffer[0]" identifier = (subscript_expression "buffer[0]" identifier [ number_literal ])) ;) (expression_statement "buffer[0] = buffer[7];" (assignment_expression "buffer[0] = buffer[7]" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (subscript_expression "buffer[7]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = buffer[1];" (assignment_expression "uVar5 = buffer[1]" identifier = (subscript_expression "buffer[1]" identifier [ number_literal ])) ;) (expression_statement "buffer[1] = buffer[6];" (assignment_expression "buffer[1] = buffer[6]" (subscript_expression "buffer[1]" identifier [ number_literal ]) = (subscript_expression "buffer[6]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = buffer[2];" (assignment_expression "uVar6 = buffer[2]" identifier = (subscript_expression "buffer[2]" identifier [ number_literal ])) ;) (expression_statement "buffer[2] = buffer[5];" (assignment_expression "buffer[2] = buffer[5]" (subscript_expression "buffer[2]" identifier [ number_literal ]) = (subscript_expression "buffer[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = buffer[3];" (assignment_expression "uVar7 = buffer[3]" identifier = (subscript_expression "buffer[3]" identifier [ number_literal ])) ;) (expression_statement "buffer[3] = buffer[4];" (assignment_expression "buffer[3] = buffer[4]" (subscript_expression "buffer[3]" identifier [ number_literal ]) = (subscript_expression "buffer[4]" identifier [ number_literal ])) ;) (expression_statement "buffer[4] = uVar7;" (assignment_expression "buffer[4] = uVar7" (subscript_expression "buffer[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[5] = uVar6;" (assignment_expression "buffer[5] = uVar6" (subscript_expression "buffer[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[6] = uVar5;" (assignment_expression "buffer[6] = uVar5" (subscript_expression "buffer[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[7] = uVar4;" (assignment_expression "buffer[7] = uVar4" (subscript_expression "buffer[7]" identifier [ number_literal ]) = identifier) ;) comment (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" identifier (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" ( (string_literal ""image->blob->type != UndefinedStream"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if (pBVar2->type == BlobStream) {\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }\n    else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }" if (parenthesized_expression "(pBVar2->type == BlobStream)" ( (binary_expression "pBVar2->type == BlobStream" (field_expression "pBVar2->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      uVar4 = buffer[7];\n      uVar5 = buffer[6];\n      uVar6 = buffer[5];\n      uVar7 = buffer[4];\n      uVar8 = buffer[3];\n      uVar9 = buffer[2];\n      uVar10 = buffer[1];\n      uVar11 = buffer[0];\n      if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }\n      buffer[7] = uVar11;\n      buffer[6] = uVar10;\n      buffer[5] = uVar9;\n      buffer[4] = uVar8;\n      buffer[3] = uVar7;\n      buffer[2] = uVar6;\n      buffer[1] = uVar5;\n      buffer[0] = uVar4;\n      *(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;\n      sVar3 = pBVar2->offset + 8;\n      pBVar2->offset = sVar3;\n      sVar13 = 8;\n      if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }\n    }" { (expression_statement "uVar4 = buffer[7];" (assignment_expression "uVar4 = buffer[7]" identifier = (subscript_expression "buffer[7]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = buffer[6];" (assignment_expression "uVar5 = buffer[6]" identifier = (subscript_expression "buffer[6]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = buffer[5];" (assignment_expression "uVar6 = buffer[5]" identifier = (subscript_expression "buffer[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = buffer[4];" (assignment_expression "uVar7 = buffer[4]" identifier = (subscript_expression "buffer[4]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = buffer[3];" (assignment_expression "uVar8 = buffer[3]" identifier = (subscript_expression "buffer[3]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = buffer[2];" (assignment_expression "uVar9 = buffer[2]" identifier = (subscript_expression "buffer[2]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = buffer[1];" (assignment_expression "uVar10 = buffer[1]" identifier = (subscript_expression "buffer[1]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = buffer[0];" (assignment_expression "uVar11 = buffer[0]" identifier = (subscript_expression "buffer[0]" identifier [ number_literal ])) ;) (if_statement "if (pBVar2->extent <= pBVar2->offset + 8U) {\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }" if (parenthesized_expression "(pBVar2->extent <= pBVar2->offset + 8U)" ( (binary_expression "pBVar2->extent <= pBVar2->offset + 8U" (field_expression "pBVar2->extent" identifier -> field_identifier) <= (binary_expression "pBVar2->offset + 8U" (field_expression "pBVar2->offset" identifier -> field_identifier) + number_literal)) )) (compound_statement "{\n        sVar3 = pBVar2->quantum;\n        pBVar2->quantum = sVar3 * 2;\n        uVar4 = buffer[0];\n        buffer[0] = buffer[7];\n        uVar5 = buffer[1];\n        buffer[1] = buffer[6];\n        uVar6 = buffer[2];\n        buffer[2] = buffer[5];\n        uVar7 = buffer[3];\n        buffer[3] = buffer[4];\n        buffer[4] = uVar7;\n        buffer[5] = uVar6;\n        buffer[6] = uVar5;\n        buffer[7] = uVar4;\n        MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);\n        sVar13 = 0;\n        uVar4 = buffer[0];\n        uVar5 = buffer[1];\n        uVar6 = buffer[2];\n        uVar7 = buffer[3];\n        uVar8 = buffer[4];\n        uVar9 = buffer[5];\n        uVar10 = buffer[6];\n        uVar11 = buffer[7];\n        if (MVar12 == MagickFalse) goto LAB_00166d47;\n      }" { (expression_statement "sVar3 = pBVar2->quantum;" (assignment_expression "sVar3 = pBVar2->quantum" identifier = (field_expression "pBVar2->quantum" identifier -> field_identifier)) ;) (expression_statement "pBVar2->quantum = sVar3 * 2;" (assignment_expression "pBVar2->quantum = sVar3 * 2" (field_expression "pBVar2->quantum" identifier -> field_identifier) = (binary_expression "sVar3 * 2" identifier * number_literal)) ;) (expression_statement "uVar4 = buffer[0];" (assignment_expression "uVar4 = buffer[0]" identifier = (subscript_expression "buffer[0]" identifier [ number_literal ])) ;) (expression_statement "buffer[0] = buffer[7];" (assignment_expression "buffer[0] = buffer[7]" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (subscript_expression "buffer[7]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = buffer[1];" (assignment_expression "uVar5 = buffer[1]" identifier = (subscript_expression "buffer[1]" identifier [ number_literal ])) ;) (expression_statement "buffer[1] = buffer[6];" (assignment_expression "buffer[1] = buffer[6]" (subscript_expression "buffer[1]" identifier [ number_literal ]) = (subscript_expression "buffer[6]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = buffer[2];" (assignment_expression "uVar6 = buffer[2]" identifier = (subscript_expression "buffer[2]" identifier [ number_literal ])) ;) (expression_statement "buffer[2] = buffer[5];" (assignment_expression "buffer[2] = buffer[5]" (subscript_expression "buffer[2]" identifier [ number_literal ]) = (subscript_expression "buffer[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = buffer[3];" (assignment_expression "uVar7 = buffer[3]" identifier = (subscript_expression "buffer[3]" identifier [ number_literal ])) ;) (expression_statement "buffer[3] = buffer[4];" (assignment_expression "buffer[3] = buffer[4]" (subscript_expression "buffer[3]" identifier [ number_literal ]) = (subscript_expression "buffer[4]" identifier [ number_literal ])) ;) (expression_statement "buffer[4] = uVar7;" (assignment_expression "buffer[4] = uVar7" (subscript_expression "buffer[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[5] = uVar6;" (assignment_expression "buffer[5] = uVar6" (subscript_expression "buffer[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[6] = uVar5;" (assignment_expression "buffer[6] = uVar5" (subscript_expression "buffer[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[7] = uVar4;" (assignment_expression "buffer[7] = uVar4" (subscript_expression "buffer[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3);" (assignment_expression "MVar12 = SetBlobExtent(image,pBVar2->extent + 8 + sVar3)" identifier = (call_expression "SetBlobExtent(image,pBVar2->extent + 8 + sVar3)" identifier (argument_list "(image,pBVar2->extent + 8 + sVar3)" ( identifier , (binary_expression "pBVar2->extent + 8 + sVar3" (binary_expression "pBVar2->extent + 8" (field_expression "pBVar2->extent" identifier -> field_identifier) + number_literal) + identifier) )))) ;) (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar4 = buffer[0];" (assignment_expression "uVar4 = buffer[0]" identifier = (subscript_expression "buffer[0]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = buffer[1];" (assignment_expression "uVar5 = buffer[1]" identifier = (subscript_expression "buffer[1]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = buffer[2];" (assignment_expression "uVar6 = buffer[2]" identifier = (subscript_expression "buffer[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = buffer[3];" (assignment_expression "uVar7 = buffer[3]" identifier = (subscript_expression "buffer[3]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = buffer[4];" (assignment_expression "uVar8 = buffer[4]" identifier = (subscript_expression "buffer[4]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = buffer[5];" (assignment_expression "uVar9 = buffer[5]" identifier = (subscript_expression "buffer[5]" identifier [ number_literal ])) ;) (expression_statement "uVar10 = buffer[6];" (assignment_expression "uVar10 = buffer[6]" identifier = (subscript_expression "buffer[6]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = buffer[7];" (assignment_expression "uVar11 = buffer[7]" identifier = (subscript_expression "buffer[7]" identifier [ number_literal ])) ;) (if_statement "if (MVar12 == MagickFalse) goto LAB_00166d47;" if (parenthesized_expression "(MVar12 == MagickFalse)" ( (binary_expression "MVar12 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_00166d47;" goto statement_identifier ;)) })) (expression_statement "buffer[7] = uVar11;" (assignment_expression "buffer[7] = uVar11" (subscript_expression "buffer[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[6] = uVar10;" (assignment_expression "buffer[6] = uVar10" (subscript_expression "buffer[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[5] = uVar9;" (assignment_expression "buffer[5] = uVar9" (subscript_expression "buffer[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[4] = uVar8;" (assignment_expression "buffer[4] = uVar8" (subscript_expression "buffer[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[3] = uVar7;" (assignment_expression "buffer[3] = uVar7" (subscript_expression "buffer[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[2] = uVar6;" (assignment_expression "buffer[2] = uVar6" (subscript_expression "buffer[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[1] = uVar5;" (assignment_expression "buffer[1] = uVar5" (subscript_expression "buffer[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[0] = uVar4;" (assignment_expression "buffer[0] = uVar4" (subscript_expression "buffer[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))\n      ;" (assignment_expression "*(ulong *)(pBVar2->data + pBVar2->offset) =\n           CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))" (pointer_expression "*(ulong *)(pBVar2->data + pBVar2->offset)" * (cast_expression "(ulong *)(pBVar2->data + pBVar2->offset)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pBVar2->data + pBVar2->offset)" ( (binary_expression "pBVar2->data + pBVar2->offset" (field_expression "pBVar2->data" identifier -> field_identifier) + (field_expression "pBVar2->offset" identifier -> field_identifier)) )))) = (call_expression "CONCAT17(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))" identifier (argument_list "(buffer[7],\n                    CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))))" ( (subscript_expression "buffer[7]" identifier [ number_literal ]) , (call_expression "CONCAT16(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))))" identifier (argument_list "(buffer[6],\n                             CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))))" ( (subscript_expression "buffer[6]" identifier [ number_literal ]) , (call_expression "CONCAT15(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))" identifier (argument_list "(buffer[5],\n                                      CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))))" ( (subscript_expression "buffer[5]" identifier [ number_literal ]) , (call_expression "CONCAT14(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))" identifier (argument_list "(buffer[4],\n                                               CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))))" ( (subscript_expression "buffer[4]" identifier [ number_literal ]) , (call_expression "CONCAT13(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))" identifier (argument_list "(buffer[3],\n                                                        CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0])))" ( (subscript_expression "buffer[3]" identifier [ number_literal ]) , (call_expression "CONCAT12(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))" identifier (argument_list "(buffer[2],\n                                                                 CONCAT11(buffer[1],buffer[0]))" ( (subscript_expression "buffer[2]" identifier [ number_literal ]) , (call_expression "CONCAT11(buffer[1],buffer[0])" identifier (argument_list "(buffer[1],buffer[0])" ( (subscript_expression "buffer[1]" identifier [ number_literal ]) , (subscript_expression "buffer[0]" identifier [ number_literal ]) ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement "sVar3 = pBVar2->offset + 8;" (assignment_expression "sVar3 = pBVar2->offset + 8" identifier = (binary_expression "pBVar2->offset + 8" (field_expression "pBVar2->offset" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pBVar2->offset = sVar3;" (assignment_expression "pBVar2->offset = sVar3" (field_expression "pBVar2->offset" identifier -> field_identifier) = identifier) ;) (expression_statement "sVar13 = 8;" (assignment_expression "sVar13 = 8" identifier = number_literal) ;) (if_statement "if ((long)pBVar2->length <= (long)sVar3) {\n        pBVar2->length = sVar3;\n      }" if (parenthesized_expression "((long)pBVar2->length <= (long)sVar3)" ( (binary_expression "(long)pBVar2->length <= (long)sVar3" (cast_expression "(long)pBVar2->length" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "pBVar2->length" identifier -> field_identifier)) <= (cast_expression "(long)sVar3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n        pBVar2->length = sVar3;\n      }" { (expression_statement "pBVar2->length = sVar3;" (assignment_expression "pBVar2->length = sVar3" (field_expression "pBVar2->length" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }" else (compound_statement "{\n      uVar4 = buffer[0];\n      buffer[0] = buffer[7];\n      uVar5 = buffer[1];\n      buffer[1] = buffer[6];\n      uVar6 = buffer[2];\n      buffer[2] = buffer[5];\n      uVar7 = buffer[3];\n      buffer[3] = buffer[4];\n      buffer[4] = uVar7;\n      buffer[5] = uVar6;\n      buffer[6] = uVar5;\n      buffer[7] = uVar4;\n      sVar13 = WriteBlob(image,8,buffer);\n    }" { (expression_statement "uVar4 = buffer[0];" (assignment_expression "uVar4 = buffer[0]" identifier = (subscript_expression "buffer[0]" identifier [ number_literal ])) ;) (expression_statement "buffer[0] = buffer[7];" (assignment_expression "buffer[0] = buffer[7]" (subscript_expression "buffer[0]" identifier [ number_literal ]) = (subscript_expression "buffer[7]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = buffer[1];" (assignment_expression "uVar5 = buffer[1]" identifier = (subscript_expression "buffer[1]" identifier [ number_literal ])) ;) (expression_statement "buffer[1] = buffer[6];" (assignment_expression "buffer[1] = buffer[6]" (subscript_expression "buffer[1]" identifier [ number_literal ]) = (subscript_expression "buffer[6]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = buffer[2];" (assignment_expression "uVar6 = buffer[2]" identifier = (subscript_expression "buffer[2]" identifier [ number_literal ])) ;) (expression_statement "buffer[2] = buffer[5];" (assignment_expression "buffer[2] = buffer[5]" (subscript_expression "buffer[2]" identifier [ number_literal ]) = (subscript_expression "buffer[5]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = buffer[3];" (assignment_expression "uVar7 = buffer[3]" identifier = (subscript_expression "buffer[3]" identifier [ number_literal ])) ;) (expression_statement "buffer[3] = buffer[4];" (assignment_expression "buffer[3] = buffer[4]" (subscript_expression "buffer[3]" identifier [ number_literal ]) = (subscript_expression "buffer[4]" identifier [ number_literal ])) ;) (expression_statement "buffer[4] = uVar7;" (assignment_expression "buffer[4] = uVar7" (subscript_expression "buffer[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[5] = uVar6;" (assignment_expression "buffer[5] = uVar6" (subscript_expression "buffer[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[6] = uVar5;" (assignment_expression "buffer[6] = uVar5" (subscript_expression "buffer[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "buffer[7] = uVar4;" (assignment_expression "buffer[7] = uVar4" (subscript_expression "buffer[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "sVar13 = WriteBlob(image,8,buffer);" (assignment_expression "sVar13 = WriteBlob(image,8,buffer)" identifier = (call_expression "WriteBlob(image,8,buffer)" identifier (argument_list "(image,8,buffer)" ( identifier , number_literal , identifier )))) ;) }))) }))) (labeled_statement "LAB_00166d47:\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return sVar13;\n  }" statement_identifier : (if_statement "if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return sVar13;\n  }" if (parenthesized_expression "(lVar1 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar1 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return sVar13;\n  }" { (return_statement "return sVar13;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined8 WriteBlobLongLong(long param_1,undefined8 param_2)\n\n{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 WriteBlobLongLong(long param_1,undefined8 param_2)\n\n{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    \n  __stack_chk_fail();\n}" type_identifier (function_declarator "WriteBlobLongLong(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 uVar3;" type_identifier identifier ;) (declaration "undefined1 uVar4;" type_identifier identifier ;) (declaration "undefined1 uVar5;" type_identifier identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "undefined1 uVar7;" type_identifier identifier ;) (declaration "undefined1 uVar8;" type_identifier identifier ;) (declaration "undefined1 uVar9;" type_identifier identifier ;) (declaration "undefined1 uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 local_18;" type_identifier identifier ;) (declaration "undefined1 uStack_17;" type_identifier identifier ;) (declaration "undefined1 uStack_16;" type_identifier identifier ;) (declaration "undefined1 uStack_15;" type_identifier identifier ;) (declaration "undefined1 uStack_14;" type_identifier identifier ;) (declaration "undefined1 uStack_13;" type_identifier identifier ;) (declaration "undefined1 uStack_12;" type_identifier identifier ;) (declaration "undefined1 uStack_11;" type_identifier identifier ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" { (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" identifier (argument_list "("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobLongLong"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3450) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3450) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3450)" * (cast_expression "(long *)(param_1 + 0x3450)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3450)" ( (binary_expression "param_1 + 0x3450" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobLongLong"" " string_content ") ))) ;) })) (expression_statement "local_18 = (undefined1)param_2;" (assignment_expression "local_18 = (undefined1)param_2" identifier = (cast_expression "(undefined1)param_2" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uStack_17 = (undefined1)((ulong)param_2 >> 8);" (assignment_expression "uStack_17 = (undefined1)((ulong)param_2 >> 8)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 8)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 8)" ( (binary_expression "(ulong)param_2 >> 8" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_16 = (undefined1)((ulong)param_2 >> 0x10);" (assignment_expression "uStack_16 = (undefined1)((ulong)param_2 >> 0x10)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x10)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x10)" ( (binary_expression "(ulong)param_2 >> 0x10" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_15 = (undefined1)((ulong)param_2 >> 0x18);" (assignment_expression "uStack_15 = (undefined1)((ulong)param_2 >> 0x18)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x18)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x18)" ( (binary_expression "(ulong)param_2 >> 0x18" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_14 = (undefined1)((ulong)param_2 >> 0x20);" (assignment_expression "uStack_14 = (undefined1)((ulong)param_2 >> 0x20)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x20)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x20)" ( (binary_expression "(ulong)param_2 >> 0x20" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_13 = (undefined1)((ulong)param_2 >> 0x28);" (assignment_expression "uStack_13 = (undefined1)((ulong)param_2 >> 0x28)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x28)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x28)" ( (binary_expression "(ulong)param_2 >> 0x28" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_12 = (undefined1)((ulong)param_2 >> 0x30);" (assignment_expression "uStack_12 = (undefined1)((ulong)param_2 >> 0x30)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x30)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x30)" ( (binary_expression "(ulong)param_2 >> 0x30" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_11 = (undefined1)((ulong)param_2 >> 0x38);" (assignment_expression "uStack_11 = (undefined1)((ulong)param_2 >> 0x38)" identifier = (call_expression "(undefined1)((ulong)param_2 >> 0x38)" (parenthesized_expression "(undefined1)" ( identifier )) (argument_list "((ulong)param_2 >> 0x38)" ( (binary_expression "(ulong)param_2 >> 0x38" (cast_expression "(ulong)param_2" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x2ac) == 1)" ( (binary_expression "*(int *)(param_1 + 0x2ac) == 1" (pointer_expression "*(int *)(param_1 + 0x2ac)" * (cast_expression "(int *)(param_1 + 0x2ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2ac)" ( (binary_expression "param_1 + 0x2ac" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" { (expression_statement "plVar1 = *(long **)(param_1 + 0x3408);" (assignment_expression "plVar1 = *(long **)(param_1 + 0x3408)" identifier = (pointer_expression "*(long **)(param_1 + 0x3408)" * (cast_expression "(long **)(param_1 + 0x3408)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3408)" ( (binary_expression "param_1 + 0x3408" identifier + number_literal) ))))) ;) (if_statement "if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" if (parenthesized_expression "(plVar1 == (long *)0x0)" ( (binary_expression "plVar1 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" { (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" identifier (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" ( (string_literal ""image->blob != (BlobInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" if (parenthesized_expression "((int)plVar1[10] == 0)" ( (binary_expression "(int)plVar1[10] == 0" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" { (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" identifier (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" ( (string_literal ""image->blob->type != UndefinedStream"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" if (parenthesized_expression "((int)plVar1[10] == 7)" ( (binary_expression "(int)plVar1[10] == 7" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }" { (if_statement "if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" if (parenthesized_expression "((ulong)plVar1[1] <= plVar1[6] + 8U)" ( (binary_expression "(ulong)plVar1[1] <= plVar1[6] + 8U" (cast_expression "(ulong)plVar1[1]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar1[1]" identifier [ number_literal ])) <= (binary_expression "plVar1[6] + 8U" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" { (expression_statement "lVar2 = plVar1[2];" (assignment_expression "lVar2 = plVar1[2]" identifier = (subscript_expression "plVar1[2]" identifier [ number_literal ])) ;) (expression_statement "plVar1[2] = lVar2 * 2;" (assignment_expression "plVar1[2] = lVar2 * 2" (subscript_expression "plVar1[2]" identifier [ number_literal ]) = (binary_expression "lVar2 * 2" identifier * number_literal)) ;) (expression_statement "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);" (assignment_expression "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier = (call_expression "SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier (argument_list "(param_1,plVar1[1] + 8U + lVar2)" ( identifier , (binary_expression "plVar1[1] + 8U + lVar2" (binary_expression "plVar1[1] + 8U" (subscript_expression "plVar1[1]" identifier [ number_literal ]) + number_literal) + identifier) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (if_statement "if (iVar11 == 0) goto LAB_00166d47;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00166d47;" goto statement_identifier ;)) })) (expression_statement "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));" (assignment_expression "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (pointer_expression "*(ulong *)(plVar1[0x20] + plVar1[6])" * (cast_expression "(ulong *)(plVar1[0x20] + plVar1[6])" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar1[0x20] + plVar1[6])" ( (binary_expression "plVar1[0x20] + plVar1[6]" (subscript_expression "plVar1[0x20]" identifier [ number_literal ]) + (subscript_expression "plVar1[6]" identifier [ number_literal ])) )))) = (call_expression "CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" identifier (argument_list "(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" ( identifier , (call_expression "CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" identifier (argument_list "(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" ( identifier , (call_expression "CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" identifier (argument_list "(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" ( identifier , (call_expression "CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" identifier (argument_list "(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" ( identifier , (call_expression "CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" identifier (argument_list "(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" ( identifier , (call_expression "CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" identifier (argument_list "(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" ( identifier , (call_expression "CONCAT11(uStack_17,local_18)" identifier (argument_list "(uStack_17,local_18)" ( identifier , identifier ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement "lVar2 = plVar1[6] + 8;" (assignment_expression "lVar2 = plVar1[6] + 8" identifier = (binary_expression "plVar1[6] + 8" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "plVar1[6] = lVar2;" (assignment_expression "plVar1[6] = lVar2" (subscript_expression "plVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (if_statement "if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }" if (parenthesized_expression "(*plVar1 <= lVar2)" ( (binary_expression "*plVar1 <= lVar2" (pointer_expression "*plVar1" * identifier) <= identifier) )) (compound_statement "{\n        *plVar1 = lVar2;\n      }" { (expression_statement "*plVar1 = lVar2;" (assignment_expression "*plVar1 = lVar2" (pointer_expression "*plVar1" * identifier) = identifier) ;) })) }) (else_clause "else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" else (compound_statement "{\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" { (expression_statement "uVar12 = WriteBlob(param_1,8,&local_18);" (assignment_expression "uVar12 = WriteBlob(param_1,8,&local_18)" identifier = (call_expression "WriteBlob(param_1,8,&local_18)" identifier (argument_list "(param_1,8,&local_18)" ( identifier , number_literal , (pointer_expression "&local_18" & identifier) )))) ;) }))) }) (else_clause "else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" else (compound_statement "{\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" { (expression_statement "plVar1 = *(long **)(param_1 + 0x3408);" (assignment_expression "plVar1 = *(long **)(param_1 + 0x3408)" identifier = (pointer_expression "*(long **)(param_1 + 0x3408)" * (cast_expression "(long **)(param_1 + 0x3408)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x3408)" ( (binary_expression "param_1 + 0x3408" identifier + number_literal) ))))) ;) (if_statement "if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" if (parenthesized_expression "(plVar1 == (long *)0x0)" ( (binary_expression "plVar1 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" { (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" identifier (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" ( (string_literal ""image->blob != (BlobInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" if (parenthesized_expression "((int)plVar1[10] == 0)" ( (binary_expression "(int)plVar1[10] == 0" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" { (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" identifier (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" ( (string_literal ""image->blob->type != UndefinedStream"" " string_content ") , (string_literal ""MagickCore/blob.c"" " string_content ") , number_literal , (string_literal ""WriteBlobStream"" " string_content ") ))) ;) })) (if_statement "if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" if (parenthesized_expression "((int)plVar1[10] == 7)" ( (binary_expression "(int)plVar1[10] == 7" (cast_expression "(int)plVar1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar1[10]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }" { (expression_statement "uVar3 = uStack_11;" (assignment_expression "uVar3 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_12;" (assignment_expression "uVar4 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_13;" (assignment_expression "uVar5 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_14;" (assignment_expression "uVar6 = uStack_14" identifier = identifier) ;) (expression_statement "uVar7 = uStack_15;" (assignment_expression "uVar7 = uStack_15" identifier = identifier) ;) (expression_statement "uVar8 = uStack_16;" (assignment_expression "uVar8 = uStack_16" identifier = identifier) ;) (expression_statement "uVar9 = uStack_17;" (assignment_expression "uVar9 = uStack_17" identifier = identifier) ;) (expression_statement "uVar10 = local_18;" (assignment_expression "uVar10 = local_18" identifier = identifier) ;) (if_statement "if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" if (parenthesized_expression "((ulong)plVar1[1] <= plVar1[6] + 8U)" ( (binary_expression "(ulong)plVar1[1] <= plVar1[6] + 8U" (cast_expression "(ulong)plVar1[1]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar1[1]" identifier [ number_literal ])) <= (binary_expression "plVar1[6] + 8U" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) )) (compound_statement "{\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" { (expression_statement "lVar2 = plVar1[2];" (assignment_expression "lVar2 = plVar1[2]" identifier = (subscript_expression "plVar1[2]" identifier [ number_literal ])) ;) (expression_statement "plVar1[2] = lVar2 * 2;" (assignment_expression "plVar1[2] = lVar2 * 2" (subscript_expression "plVar1[2]" identifier [ number_literal ]) = (binary_expression "lVar2 * 2" identifier * number_literal)) ;) (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) (expression_statement "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);" (assignment_expression "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier = (call_expression "SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" identifier (argument_list "(param_1,plVar1[1] + 8U + lVar2)" ( identifier , (binary_expression "plVar1[1] + 8U + lVar2" (binary_expression "plVar1[1] + 8U" (subscript_expression "plVar1[1]" identifier [ number_literal ]) + number_literal) + identifier) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uVar7 = uStack_14;" (assignment_expression "uVar7 = uStack_14" identifier = identifier) ;) (expression_statement "uVar8 = uStack_13;" (assignment_expression "uVar8 = uStack_13" identifier = identifier) ;) (expression_statement "uVar9 = uStack_12;" (assignment_expression "uVar9 = uStack_12" identifier = identifier) ;) (expression_statement "uVar10 = uStack_11;" (assignment_expression "uVar10 = uStack_11" identifier = identifier) ;) (if_statement "if (iVar11 == 0) goto LAB_00166d47;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00166d47;" goto statement_identifier ;)) })) (expression_statement "uStack_11 = uVar10;" (assignment_expression "uStack_11 = uVar10" identifier = identifier) ;) (expression_statement "uStack_12 = uVar9;" (assignment_expression "uStack_12 = uVar9" identifier = identifier) ;) (expression_statement "uStack_13 = uVar8;" (assignment_expression "uStack_13 = uVar8" identifier = identifier) ;) (expression_statement "uStack_14 = uVar7;" (assignment_expression "uStack_14 = uVar7" identifier = identifier) ;) (expression_statement "uStack_15 = uVar6;" (assignment_expression "uStack_15 = uVar6" identifier = identifier) ;) (expression_statement "uStack_16 = uVar5;" (assignment_expression "uStack_16 = uVar5" identifier = identifier) ;) (expression_statement "uStack_17 = uVar4;" (assignment_expression "uStack_17 = uVar4" identifier = identifier) ;) (expression_statement "local_18 = uVar3;" (assignment_expression "local_18 = uVar3" identifier = identifier) ;) (expression_statement "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));" (assignment_expression "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (pointer_expression "*(ulong *)(plVar1[0x20] + plVar1[6])" * (cast_expression "(ulong *)(plVar1[0x20] + plVar1[6])" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar1[0x20] + plVar1[6])" ( (binary_expression "plVar1[0x20] + plVar1[6]" (subscript_expression "plVar1[0x20]" identifier [ number_literal ]) + (subscript_expression "plVar1[6]" identifier [ number_literal ])) )))) = (call_expression "CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" identifier (argument_list "(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" ( identifier , (call_expression "CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" identifier (argument_list "(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" ( identifier , (call_expression "CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" identifier (argument_list "(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" ( identifier , (call_expression "CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" identifier (argument_list "(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" ( identifier , (call_expression "CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" identifier (argument_list "(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" ( identifier , (call_expression "CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" identifier (argument_list "(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" ( identifier , (call_expression "CONCAT11(uStack_17,local_18)" identifier (argument_list "(uStack_17,local_18)" ( identifier , identifier ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement "lVar2 = plVar1[6] + 8;" (assignment_expression "lVar2 = plVar1[6] + 8" identifier = (binary_expression "plVar1[6] + 8" (subscript_expression "plVar1[6]" identifier [ number_literal ]) + number_literal)) ;) (expression_statement "plVar1[6] = lVar2;" (assignment_expression "plVar1[6] = lVar2" (subscript_expression "plVar1[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" identifier = number_literal) ;) (if_statement "if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }" if (parenthesized_expression "(*plVar1 <= lVar2)" ( (binary_expression "*plVar1 <= lVar2" (pointer_expression "*plVar1" * identifier) <= identifier) )) (compound_statement "{\n        *plVar1 = lVar2;\n      }" { (expression_statement "*plVar1 = lVar2;" (assignment_expression "*plVar1 = lVar2" (pointer_expression "*plVar1" * identifier) = identifier) ;) })) }) (else_clause "else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" else (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" { (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" identifier = identifier) ;) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" identifier = identifier) ;) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" identifier = identifier) ;) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" identifier = identifier) ;) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" identifier = identifier) ;) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" identifier = identifier) ;) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" identifier = identifier) ;) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" identifier = identifier) ;) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" identifier = identifier) ;) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" identifier = identifier) ;) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" identifier = identifier) ;) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" identifier = identifier) ;) (expression_statement "uVar12 = WriteBlob(param_1,8,&local_18);" (assignment_expression "uVar12 = WriteBlob(param_1,8,&local_18)" identifier = (call_expression "WriteBlob(param_1,8,&local_18)" identifier (argument_list "(param_1,8,&local_18)" ( identifier , number_literal , (pointer_expression "&local_18" & identifier) )))) ;) }))) }))) (labeled_statement "LAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }" statement_identifier : (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return uVar12;\n  }" { (return_statement "return uVar12;" return identifier ;) }))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) )))) = (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , IDENT ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) )))) = (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , (call_expression IDENT (argument_list ( IDENT , IDENT ))) ))) ))) ))) ))) ))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) )))) ;) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined8 WriteBlobLongLong(long param_1,undefined8 param_2)\n\n{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    \n  __stack_chk_fail();\n}" (type_identifier "undefined8") (function_declarator "WriteBlobLongLong(long param_1,undefined8 param_2)" (identifier "WriteBlobLongLong") (parameter_list "(long param_1,undefined8 param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  long *plVar1;\n  long lVar2;\n  undefined1 uVar3;\n  undefined1 uVar4;\n  undefined1 uVar5;\n  undefined1 uVar6;\n  undefined1 uVar7;\n  undefined1 uVar8;\n  undefined1 uVar9;\n  undefined1 uVar10;\n  int iVar11;\n  undefined8 uVar12;\n  long in_FS_OFFSET;\n  undefined1 local_18;\n  undefined1 uStack_17;\n  undefined1 uStack_16;\n  undefined1 uStack_15;\n  undefined1 uStack_14;\n  undefined1 uStack_13;\n  undefined1 uStack_12;\n  undefined1 uStack_11;\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }\n  local_18 = (undefined1)param_2;\n  uStack_17 = (undefined1)((ulong)param_2 >> 8);\n  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);\n  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);\n  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);\n  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);\n  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);\n  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);\n  if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\nLAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "undefined1 uVar3;" (type_identifier "undefined1") (identifier "uVar3") (; ";")) (declaration "undefined1 uVar4;" (type_identifier "undefined1") (identifier "uVar4") (; ";")) (declaration "undefined1 uVar5;" (type_identifier "undefined1") (identifier "uVar5") (; ";")) (declaration "undefined1 uVar6;" (type_identifier "undefined1") (identifier "uVar6") (; ";")) (declaration "undefined1 uVar7;" (type_identifier "undefined1") (identifier "uVar7") (; ";")) (declaration "undefined1 uVar8;" (type_identifier "undefined1") (identifier "uVar8") (; ";")) (declaration "undefined1 uVar9;" (type_identifier "undefined1") (identifier "uVar9") (; ";")) (declaration "undefined1 uVar10;" (type_identifier "undefined1") (identifier "uVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined1 local_18;" (type_identifier "undefined1") (identifier "local_18") (; ";")) (declaration "undefined1 uStack_17;" (type_identifier "undefined1") (identifier "uStack_17") (; ";")) (declaration "undefined1 uStack_16;" (type_identifier "undefined1") (identifier "uStack_16") (; ";")) (declaration "undefined1 uStack_15;" (type_identifier "undefined1") (identifier "uStack_15") (; ";")) (declaration "undefined1 uStack_14;" (type_identifier "undefined1") (identifier "uStack_14") (; ";")) (declaration "undefined1 uStack_13;" (type_identifier "undefined1") (identifier "uStack_13") (; ";")) (declaration "undefined1 uStack_12;" (type_identifier "undefined1") (identifier "uStack_12") (; ";")) (declaration "undefined1 uStack_11;" (type_identifier "undefined1") (identifier "uStack_11") (; ";")) (declaration "long local_10;" (sized_type_specifier "long" (long "long")) (identifier "local_10") (; ";")) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_10") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");\n  }" ({ "{") (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" (identifier "__assert_fail") (argument_list "("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong")" (( "(") (string_literal ""image != (Image *) NULL"" (" """) (string_content "image != (Image *) NULL") (" """)) (, ",") (string_literal ""MagickCore/blob.c"" (" """) (string_content "MagickCore/blob.c") (" """)) (, ",") (number_literal "0x176c") (, ",") (string_literal ""WriteBlobLongLong"" (" """) (string_content "WriteBlobLongLong") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x3450) != 0xabacadab)" (( "(") (binary_expression "*(long *)(param_1 + 0x3450) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3450)" (* "*") (cast_expression "(long *)(param_1 + 0x3450)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3450)" (( "(") (binary_expression "param_1 + 0x3450" (identifier "param_1") (+ "+") (number_literal "0x3450")) () ")")))) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,\n                  "WriteBlobLongLong")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/blob.c"" (" """) (string_content "MagickCore/blob.c") (" """)) (, ",") (number_literal "0x176d") (, ",") (string_literal ""WriteBlobLongLong"" (" """) (string_content "WriteBlobLongLong") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_18 = (undefined1)param_2;" (assignment_expression "local_18 = (undefined1)param_2" (identifier "local_18") (= "=") (cast_expression "(undefined1)param_2" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "param_2"))) (; ";")) (expression_statement "uStack_17 = (undefined1)((ulong)param_2 >> 8);" (assignment_expression "uStack_17 = (undefined1)((ulong)param_2 >> 8)" (identifier "uStack_17") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 8)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 8)" (( "(") (binary_expression "(ulong)param_2 >> 8" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uStack_16 = (undefined1)((ulong)param_2 >> 0x10);" (assignment_expression "uStack_16 = (undefined1)((ulong)param_2 >> 0x10)" (identifier "uStack_16") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 0x10)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 0x10)" (( "(") (binary_expression "(ulong)param_2 >> 0x10" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "uStack_15 = (undefined1)((ulong)param_2 >> 0x18);" (assignment_expression "uStack_15 = (undefined1)((ulong)param_2 >> 0x18)" (identifier "uStack_15") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 0x18)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 0x18)" (( "(") (binary_expression "(ulong)param_2 >> 0x18" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x18")) () ")")))) (; ";")) (expression_statement "uStack_14 = (undefined1)((ulong)param_2 >> 0x20);" (assignment_expression "uStack_14 = (undefined1)((ulong)param_2 >> 0x20)" (identifier "uStack_14") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 0x20)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 0x20)" (( "(") (binary_expression "(ulong)param_2 >> 0x20" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uStack_13 = (undefined1)((ulong)param_2 >> 0x28);" (assignment_expression "uStack_13 = (undefined1)((ulong)param_2 >> 0x28)" (identifier "uStack_13") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 0x28)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 0x28)" (( "(") (binary_expression "(ulong)param_2 >> 0x28" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x28")) () ")")))) (; ";")) (expression_statement "uStack_12 = (undefined1)((ulong)param_2 >> 0x30);" (assignment_expression "uStack_12 = (undefined1)((ulong)param_2 >> 0x30)" (identifier "uStack_12") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 0x30)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 0x30)" (( "(") (binary_expression "(ulong)param_2 >> 0x30" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x30")) () ")")))) (; ";")) (expression_statement "uStack_11 = (undefined1)((ulong)param_2 >> 0x38);" (assignment_expression "uStack_11 = (undefined1)((ulong)param_2 >> 0x38)" (identifier "uStack_11") (= "=") (call_expression "(undefined1)((ulong)param_2 >> 0x38)" (parenthesized_expression "(undefined1)" (( "(") (identifier "undefined1") () ")")) (argument_list "((ulong)param_2 >> 0x38)" (( "(") (binary_expression "(ulong)param_2 >> 0x38" (cast_expression "(ulong)param_2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x38")) () ")")))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x2ac) == 1) {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }\n  else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x2ac) == 1)" (( "(") (binary_expression "*(int *)(param_1 + 0x2ac) == 1" (pointer_expression "*(int *)(param_1 + 0x2ac)" (* "*") (cast_expression "(int *)(param_1 + 0x2ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2ac)" (( "(") (binary_expression "param_1 + 0x2ac" (identifier "param_1") (+ "+") (number_literal "0x2ac")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" ({ "{") (expression_statement "plVar1 = *(long **)(param_1 + 0x3408);" (assignment_expression "plVar1 = *(long **)(param_1 + 0x3408)" (identifier "plVar1") (= "=") (pointer_expression "*(long **)(param_1 + 0x3408)" (* "*") (cast_expression "(long **)(param_1 + 0x3408)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3408)" (( "(") (binary_expression "param_1 + 0x3408" (identifier "param_1") (+ "+") (number_literal "0x3408")) () ")"))))) (; ";")) (if_statement "if (plVar1 == (long *)0x0) {\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" (if "if") (parenthesized_expression "(plVar1 == (long *)0x0)" (( "(") (binary_expression "plVar1 == (long *)0x0" (identifier "plVar1") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" ({ "{") (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" (identifier "__assert_fail") (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" (( "(") (string_literal ""image->blob != (BlobInfo *) NULL"" (" """) (string_content "image->blob != (BlobInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/blob.c"" (" """) (string_content "MagickCore/blob.c") (" """)) (, ",") (number_literal "0x638") (, ",") (string_literal ""WriteBlobStream"" (" """) (string_content "WriteBlobStream") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)plVar1[10] == 0) {\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" (if "if") (parenthesized_expression "((int)plVar1[10] == 0)" (( "(") (binary_expression "(int)plVar1[10] == 0" (cast_expression "(int)plVar1[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar1[10]" (identifier "plVar1") ([ "[") (number_literal "10") (] "]"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" ({ "{") (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" (identifier "__assert_fail") (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" (( "(") (string_literal ""image->blob->type != UndefinedStream"" (" """) (string_content "image->blob->type != UndefinedStream") (" """)) (, ",") (string_literal ""MagickCore/blob.c"" (" """) (string_content "MagickCore/blob.c") (" """)) (, ",") (number_literal "0x639") (, ",") (string_literal ""WriteBlobStream"" (" """) (string_content "WriteBlobStream") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)plVar1[10] == 7) {\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" (if "if") (parenthesized_expression "((int)plVar1[10] == 7)" (( "(") (binary_expression "(int)plVar1[10] == 7" (cast_expression "(int)plVar1[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar1[10]" (identifier "plVar1") ([ "[") (number_literal "10") (] "]"))) (== "==") (number_literal "7")) () ")")) (compound_statement "{\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }" ({ "{") (if_statement "if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" (if "if") (parenthesized_expression "((ulong)plVar1[1] <= plVar1[6] + 8U)" (( "(") (binary_expression "(ulong)plVar1[1] <= plVar1[6] + 8U" (cast_expression "(ulong)plVar1[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]"))) (<= "<=") (binary_expression "plVar1[6] + 8U" (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "8U"))) () ")")) (compound_statement "{\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" ({ "{") (expression_statement "lVar2 = plVar1[2];" (assignment_expression "lVar2 = plVar1[2]" (identifier "lVar2") (= "=") (subscript_expression "plVar1[2]" (identifier "plVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "plVar1[2] = lVar2 * 2;" (assignment_expression "plVar1[2] = lVar2 * 2" (subscript_expression "plVar1[2]" (identifier "plVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "lVar2 * 2" (identifier "lVar2") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);" (assignment_expression "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" (identifier "iVar11") (= "=") (call_expression "SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" (identifier "SetBlobExtent") (argument_list "(param_1,plVar1[1] + 8U + lVar2)" (( "(") (identifier "param_1") (, ",") (binary_expression "plVar1[1] + 8U + lVar2" (binary_expression "plVar1[1] + 8U" (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8U")) (+ "+") (identifier "lVar2")) () ")")))) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_00166d47;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00166d47;" (goto "goto") (statement_identifier "LAB_00166d47") (; ";"))) (} "}"))) (expression_statement "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));" (assignment_expression "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (pointer_expression "*(ulong *)(plVar1[0x20] + plVar1[6])" (* "*") (cast_expression "(ulong *)(plVar1[0x20] + plVar1[6])" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar1[0x20] + plVar1[6])" (( "(") (binary_expression "plVar1[0x20] + plVar1[6]" (subscript_expression "plVar1[0x20]" (identifier "plVar1") ([ "[") (number_literal "0x20") (] "]")) (+ "+") (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]"))) () ")")))) (= "=") (call_expression "CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (identifier "CONCAT17") (argument_list "(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (( "(") (identifier "uStack_11") (, ",") (call_expression "CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" (identifier "CONCAT16") (argument_list "(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" (( "(") (identifier "uStack_12") (, ",") (call_expression "CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" (identifier "CONCAT15") (argument_list "(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" (( "(") (identifier "uStack_13") (, ",") (call_expression "CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" (identifier "CONCAT14") (argument_list "(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" (( "(") (identifier "uStack_14") (, ",") (call_expression "CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" (identifier "CONCAT13") (argument_list "(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" (( "(") (identifier "uStack_15") (, ",") (call_expression "CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" (identifier "CONCAT12") (argument_list "(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" (( "(") (identifier "uStack_16") (, ",") (call_expression "CONCAT11(uStack_17,local_18)" (identifier "CONCAT11") (argument_list "(uStack_17,local_18)" (( "(") (identifier "uStack_17") (, ",") (identifier "local_18") () ")"))) () ")"))) () ")"))) () ")"))) () ")"))) () ")"))) () ")")))) (; ";")) (expression_statement "lVar2 = plVar1[6] + 8;" (assignment_expression "lVar2 = plVar1[6] + 8" (identifier "lVar2") (= "=") (binary_expression "plVar1[6] + 8" (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "plVar1[6] = lVar2;" (assignment_expression "plVar1[6] = lVar2" (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "lVar2")) (; ";")) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" (identifier "uVar12") (= "=") (number_literal "8")) (; ";")) (if_statement "if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }" (if "if") (parenthesized_expression "(*plVar1 <= lVar2)" (( "(") (binary_expression "*plVar1 <= lVar2" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (<= "<=") (identifier "lVar2")) () ")")) (compound_statement "{\n        *plVar1 = lVar2;\n      }" ({ "{") (expression_statement "*plVar1 = lVar2;" (assignment_expression "*plVar1 = lVar2" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar2")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" (else "else") (compound_statement "{\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" ({ "{") (expression_statement "uVar12 = WriteBlob(param_1,8,&local_18);" (assignment_expression "uVar12 = WriteBlob(param_1,8,&local_18)" (identifier "uVar12") (= "=") (call_expression "WriteBlob(param_1,8,&local_18)" (identifier "WriteBlob") (argument_list "(param_1,8,&local_18)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (pointer_expression "&local_18" (& "&") (identifier "local_18")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" (else "else") (compound_statement "{\n    plVar1 = *(long **)(param_1 + 0x3408);\n    if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }\n    if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }\n  }" ({ "{") (expression_statement "plVar1 = *(long **)(param_1 + 0x3408);" (assignment_expression "plVar1 = *(long **)(param_1 + 0x3408)" (identifier "plVar1") (= "=") (pointer_expression "*(long **)(param_1 + 0x3408)" (* "*") (cast_expression "(long **)(param_1 + 0x3408)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x3408)" (( "(") (binary_expression "param_1 + 0x3408" (identifier "param_1") (+ "+") (number_literal "0x3408")) () ")"))))) (; ";")) (if_statement "if (plVar1 == (long *)0x0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" (if "if") (parenthesized_expression "(plVar1 == (long *)0x0)" (( "(") (binary_expression "plVar1 == (long *)0x0" (identifier "plVar1") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");\n    }" ({ "{") (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" (identifier "uVar3") (= "=") (identifier "local_18")) (; ";")) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" (identifier "local_18") (= "=") (identifier "uStack_11")) (; ";")) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" (identifier "uVar4") (= "=") (identifier "uStack_17")) (; ";")) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" (identifier "uStack_17") (= "=") (identifier "uStack_12")) (; ";")) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" (identifier "uVar5") (= "=") (identifier "uStack_16")) (; ";")) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" (identifier "uStack_16") (= "=") (identifier "uStack_13")) (; ";")) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" (identifier "uVar6") (= "=") (identifier "uStack_15")) (; ";")) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" (identifier "uStack_15") (= "=") (identifier "uStack_14")) (; ";")) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" (identifier "uStack_14") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" (identifier "uStack_13") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" (identifier "uStack_12") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" (identifier "uStack_11") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");" (call_expression "__assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" (identifier "__assert_fail") (argument_list "("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream")" (( "(") (string_literal ""image->blob != (BlobInfo *) NULL"" (" """) (string_content "image->blob != (BlobInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/blob.c"" (" """) (string_content "MagickCore/blob.c") (" """)) (, ",") (number_literal "0x638") (, ",") (string_literal ""WriteBlobStream"" (" """) (string_content "WriteBlobStream") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)plVar1[10] == 0) {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" (if "if") (parenthesized_expression "((int)plVar1[10] == 0)" (( "(") (binary_expression "(int)plVar1[10] == 0" (cast_expression "(int)plVar1[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar1[10]" (identifier "plVar1") ([ "[") (number_literal "10") (] "]"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n                    \n      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");\n    }" ({ "{") (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" (identifier "uVar3") (= "=") (identifier "local_18")) (; ";")) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" (identifier "local_18") (= "=") (identifier "uStack_11")) (; ";")) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" (identifier "uVar4") (= "=") (identifier "uStack_17")) (; ";")) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" (identifier "uStack_17") (= "=") (identifier "uStack_12")) (; ";")) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" (identifier "uVar5") (= "=") (identifier "uStack_16")) (; ";")) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" (identifier "uStack_16") (= "=") (identifier "uStack_13")) (; ";")) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" (identifier "uVar6") (= "=") (identifier "uStack_15")) (; ";")) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" (identifier "uStack_15") (= "=") (identifier "uStack_14")) (; ";")) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" (identifier "uStack_14") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" (identifier "uStack_13") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" (identifier "uStack_12") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" (identifier "uStack_11") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream");" (call_expression "__assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" (identifier "__assert_fail") (argument_list "("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,\n                    "WriteBlobStream")" (( "(") (string_literal ""image->blob->type != UndefinedStream"" (" """) (string_content "image->blob->type != UndefinedStream") (" """)) (, ",") (string_literal ""MagickCore/blob.c"" (" """) (string_content "MagickCore/blob.c") (" """)) (, ",") (number_literal "0x639") (, ",") (string_literal ""WriteBlobStream"" (" """) (string_content "WriteBlobStream") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((int)plVar1[10] == 7) {\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }\n    else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" (if "if") (parenthesized_expression "((int)plVar1[10] == 7)" (( "(") (binary_expression "(int)plVar1[10] == 7" (cast_expression "(int)plVar1[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar1[10]" (identifier "plVar1") ([ "[") (number_literal "10") (] "]"))) (== "==") (number_literal "7")) () ")")) (compound_statement "{\n      uVar3 = uStack_11;\n      uVar4 = uStack_12;\n      uVar5 = uStack_13;\n      uVar6 = uStack_14;\n      uVar7 = uStack_15;\n      uVar8 = uStack_16;\n      uVar9 = uStack_17;\n      uVar10 = local_18;\n      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }\n      uStack_11 = uVar10;\n      uStack_12 = uVar9;\n      uStack_13 = uVar8;\n      uStack_14 = uVar7;\n      uStack_15 = uVar6;\n      uStack_16 = uVar5;\n      uStack_17 = uVar4;\n      local_18 = uVar3;\n      *(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));\n      lVar2 = plVar1[6] + 8;\n      plVar1[6] = lVar2;\n      uVar12 = 8;\n      if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }\n    }" ({ "{") (expression_statement "uVar3 = uStack_11;" (assignment_expression "uVar3 = uStack_11" (identifier "uVar3") (= "=") (identifier "uStack_11")) (; ";")) (expression_statement "uVar4 = uStack_12;" (assignment_expression "uVar4 = uStack_12" (identifier "uVar4") (= "=") (identifier "uStack_12")) (; ";")) (expression_statement "uVar5 = uStack_13;" (assignment_expression "uVar5 = uStack_13" (identifier "uVar5") (= "=") (identifier "uStack_13")) (; ";")) (expression_statement "uVar6 = uStack_14;" (assignment_expression "uVar6 = uStack_14" (identifier "uVar6") (= "=") (identifier "uStack_14")) (; ";")) (expression_statement "uVar7 = uStack_15;" (assignment_expression "uVar7 = uStack_15" (identifier "uVar7") (= "=") (identifier "uStack_15")) (; ";")) (expression_statement "uVar8 = uStack_16;" (assignment_expression "uVar8 = uStack_16" (identifier "uVar8") (= "=") (identifier "uStack_16")) (; ";")) (expression_statement "uVar9 = uStack_17;" (assignment_expression "uVar9 = uStack_17" (identifier "uVar9") (= "=") (identifier "uStack_17")) (; ";")) (expression_statement "uVar10 = local_18;" (assignment_expression "uVar10 = local_18" (identifier "uVar10") (= "=") (identifier "local_18")) (; ";")) (if_statement "if ((ulong)plVar1[1] <= plVar1[6] + 8U) {\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" (if "if") (parenthesized_expression "((ulong)plVar1[1] <= plVar1[6] + 8U)" (( "(") (binary_expression "(ulong)plVar1[1] <= plVar1[6] + 8U" (cast_expression "(ulong)plVar1[1]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]"))) (<= "<=") (binary_expression "plVar1[6] + 8U" (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "8U"))) () ")")) (compound_statement "{\n        lVar2 = plVar1[2];\n        plVar1[2] = lVar2 * 2;\n        uVar3 = local_18;\n        local_18 = uStack_11;\n        uVar4 = uStack_17;\n        uStack_17 = uStack_12;\n        uVar5 = uStack_16;\n        uStack_16 = uStack_13;\n        uVar6 = uStack_15;\n        uStack_15 = uStack_14;\n        uStack_14 = uVar6;\n        uStack_13 = uVar5;\n        uStack_12 = uVar4;\n        uStack_11 = uVar3;\n        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);\n        uVar12 = 0;\n        uVar3 = local_18;\n        uVar4 = uStack_17;\n        uVar5 = uStack_16;\n        uVar6 = uStack_15;\n        uVar7 = uStack_14;\n        uVar8 = uStack_13;\n        uVar9 = uStack_12;\n        uVar10 = uStack_11;\n        if (iVar11 == 0) goto LAB_00166d47;\n      }" ({ "{") (expression_statement "lVar2 = plVar1[2];" (assignment_expression "lVar2 = plVar1[2]" (identifier "lVar2") (= "=") (subscript_expression "plVar1[2]" (identifier "plVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "plVar1[2] = lVar2 * 2;" (assignment_expression "plVar1[2] = lVar2 * 2" (subscript_expression "plVar1[2]" (identifier "plVar1") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "lVar2 * 2" (identifier "lVar2") (* "*") (number_literal "2"))) (; ";")) (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" (identifier "uVar3") (= "=") (identifier "local_18")) (; ";")) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" (identifier "local_18") (= "=") (identifier "uStack_11")) (; ";")) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" (identifier "uVar4") (= "=") (identifier "uStack_17")) (; ";")) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" (identifier "uStack_17") (= "=") (identifier "uStack_12")) (; ";")) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" (identifier "uVar5") (= "=") (identifier "uStack_16")) (; ";")) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" (identifier "uStack_16") (= "=") (identifier "uStack_13")) (; ";")) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" (identifier "uVar6") (= "=") (identifier "uStack_15")) (; ";")) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" (identifier "uStack_15") (= "=") (identifier "uStack_14")) (; ";")) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" (identifier "uStack_14") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" (identifier "uStack_13") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" (identifier "uStack_12") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" (identifier "uStack_11") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);" (assignment_expression "iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" (identifier "iVar11") (= "=") (call_expression "SetBlobExtent(param_1,plVar1[1] + 8U + lVar2)" (identifier "SetBlobExtent") (argument_list "(param_1,plVar1[1] + 8U + lVar2)" (( "(") (identifier "param_1") (, ",") (binary_expression "plVar1[1] + 8U + lVar2" (binary_expression "plVar1[1] + 8U" (subscript_expression "plVar1[1]" (identifier "plVar1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "8U")) (+ "+") (identifier "lVar2")) () ")")))) (; ";")) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" (identifier "uVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" (identifier "uVar3") (= "=") (identifier "local_18")) (; ";")) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" (identifier "uVar4") (= "=") (identifier "uStack_17")) (; ";")) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" (identifier "uVar5") (= "=") (identifier "uStack_16")) (; ";")) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" (identifier "uVar6") (= "=") (identifier "uStack_15")) (; ";")) (expression_statement "uVar7 = uStack_14;" (assignment_expression "uVar7 = uStack_14" (identifier "uVar7") (= "=") (identifier "uStack_14")) (; ";")) (expression_statement "uVar8 = uStack_13;" (assignment_expression "uVar8 = uStack_13" (identifier "uVar8") (= "=") (identifier "uStack_13")) (; ";")) (expression_statement "uVar9 = uStack_12;" (assignment_expression "uVar9 = uStack_12" (identifier "uVar9") (= "=") (identifier "uStack_12")) (; ";")) (expression_statement "uVar10 = uStack_11;" (assignment_expression "uVar10 = uStack_11" (identifier "uVar10") (= "=") (identifier "uStack_11")) (; ";")) (if_statement "if (iVar11 == 0) goto LAB_00166d47;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00166d47;" (goto "goto") (statement_identifier "LAB_00166d47") (; ";"))) (} "}"))) (expression_statement "uStack_11 = uVar10;" (assignment_expression "uStack_11 = uVar10" (identifier "uStack_11") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "uStack_12 = uVar9;" (assignment_expression "uStack_12 = uVar9" (identifier "uStack_12") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "uStack_13 = uVar8;" (assignment_expression "uStack_13 = uVar8" (identifier "uStack_13") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "uStack_14 = uVar7;" (assignment_expression "uStack_14 = uVar7" (identifier "uStack_14") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uStack_15 = uVar6;" (assignment_expression "uStack_15 = uVar6" (identifier "uStack_15") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_16 = uVar5;" (assignment_expression "uStack_16 = uVar5" (identifier "uStack_16") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uStack_17 = uVar4;" (assignment_expression "uStack_17 = uVar4" (identifier "uStack_17") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "local_18 = uVar3;" (assignment_expression "local_18 = uVar3" (identifier "local_18") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))));" (assignment_expression "*(ulong *)(plVar1[0x20] + plVar1[6]) =\n           CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (pointer_expression "*(ulong *)(plVar1[0x20] + plVar1[6])" (* "*") (cast_expression "(ulong *)(plVar1[0x20] + plVar1[6])" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar1[0x20] + plVar1[6])" (( "(") (binary_expression "plVar1[0x20] + plVar1[6]" (subscript_expression "plVar1[0x20]" (identifier "plVar1") ([ "[") (number_literal "0x20") (] "]")) (+ "+") (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]"))) () ")")))) (= "=") (call_expression "CONCAT17(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (identifier "CONCAT17") (argument_list "(uStack_11,\n                    CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))))" (( "(") (identifier "uStack_11") (, ",") (call_expression "CONCAT16(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" (identifier "CONCAT16") (argument_list "(uStack_12,\n                             CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))))" (( "(") (identifier "uStack_12") (, ",") (call_expression "CONCAT15(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" (identifier "CONCAT15") (argument_list "(uStack_13,\n                                      CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))))" (( "(") (identifier "uStack_13") (, ",") (call_expression "CONCAT14(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" (identifier "CONCAT14") (argument_list "(uStack_14,\n                                               CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))))" (( "(") (identifier "uStack_14") (, ",") (call_expression "CONCAT13(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" (identifier "CONCAT13") (argument_list "(uStack_15,\n                                                        CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18)))" (( "(") (identifier "uStack_15") (, ",") (call_expression "CONCAT12(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" (identifier "CONCAT12") (argument_list "(uStack_16,\n                                                                 CONCAT11(uStack_17,local_18))" (( "(") (identifier "uStack_16") (, ",") (call_expression "CONCAT11(uStack_17,local_18)" (identifier "CONCAT11") (argument_list "(uStack_17,local_18)" (( "(") (identifier "uStack_17") (, ",") (identifier "local_18") () ")"))) () ")"))) () ")"))) () ")"))) () ")"))) () ")"))) () ")")))) (; ";")) (expression_statement "lVar2 = plVar1[6] + 8;" (assignment_expression "lVar2 = plVar1[6] + 8" (identifier "lVar2") (= "=") (binary_expression "plVar1[6] + 8" (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "plVar1[6] = lVar2;" (assignment_expression "plVar1[6] = lVar2" (subscript_expression "plVar1[6]" (identifier "plVar1") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "lVar2")) (; ";")) (expression_statement "uVar12 = 8;" (assignment_expression "uVar12 = 8" (identifier "uVar12") (= "=") (number_literal "8")) (; ";")) (if_statement "if (*plVar1 <= lVar2) {\n        *plVar1 = lVar2;\n      }" (if "if") (parenthesized_expression "(*plVar1 <= lVar2)" (( "(") (binary_expression "*plVar1 <= lVar2" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (<= "<=") (identifier "lVar2")) () ")")) (compound_statement "{\n        *plVar1 = lVar2;\n      }" ({ "{") (expression_statement "*plVar1 = lVar2;" (assignment_expression "*plVar1 = lVar2" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (identifier "lVar2")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" (else "else") (compound_statement "{\n      uVar3 = local_18;\n      local_18 = uStack_11;\n      uVar4 = uStack_17;\n      uStack_17 = uStack_12;\n      uVar5 = uStack_16;\n      uStack_16 = uStack_13;\n      uVar6 = uStack_15;\n      uStack_15 = uStack_14;\n      uStack_14 = uVar6;\n      uStack_13 = uVar5;\n      uStack_12 = uVar4;\n      uStack_11 = uVar3;\n      uVar12 = WriteBlob(param_1,8,&local_18);\n    }" ({ "{") (expression_statement "uVar3 = local_18;" (assignment_expression "uVar3 = local_18" (identifier "uVar3") (= "=") (identifier "local_18")) (; ";")) (expression_statement "local_18 = uStack_11;" (assignment_expression "local_18 = uStack_11" (identifier "local_18") (= "=") (identifier "uStack_11")) (; ";")) (expression_statement "uVar4 = uStack_17;" (assignment_expression "uVar4 = uStack_17" (identifier "uVar4") (= "=") (identifier "uStack_17")) (; ";")) (expression_statement "uStack_17 = uStack_12;" (assignment_expression "uStack_17 = uStack_12" (identifier "uStack_17") (= "=") (identifier "uStack_12")) (; ";")) (expression_statement "uVar5 = uStack_16;" (assignment_expression "uVar5 = uStack_16" (identifier "uVar5") (= "=") (identifier "uStack_16")) (; ";")) (expression_statement "uStack_16 = uStack_13;" (assignment_expression "uStack_16 = uStack_13" (identifier "uStack_16") (= "=") (identifier "uStack_13")) (; ";")) (expression_statement "uVar6 = uStack_15;" (assignment_expression "uVar6 = uStack_15" (identifier "uVar6") (= "=") (identifier "uStack_15")) (; ";")) (expression_statement "uStack_15 = uStack_14;" (assignment_expression "uStack_15 = uStack_14" (identifier "uStack_15") (= "=") (identifier "uStack_14")) (; ";")) (expression_statement "uStack_14 = uVar6;" (assignment_expression "uStack_14 = uVar6" (identifier "uStack_14") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "uStack_13 = uVar5;" (assignment_expression "uStack_13 = uVar5" (identifier "uStack_13") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "uStack_12 = uVar4;" (assignment_expression "uStack_12 = uVar4" (identifier "uStack_12") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uStack_11 = uVar3;" (assignment_expression "uStack_11 = uVar3" (identifier "uStack_11") (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar12 = WriteBlob(param_1,8,&local_18);" (assignment_expression "uVar12 = WriteBlob(param_1,8,&local_18)" (identifier "uVar12") (= "=") (call_expression "WriteBlob(param_1,8,&local_18)" (identifier "WriteBlob") (argument_list "(param_1,8,&local_18)" (( "(") (identifier "param_1") (, ",") (number_literal "8") (, ",") (pointer_expression "&local_18" (& "&") (identifier "local_18")) () ")")))) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00166d47:\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }" (statement_identifier "LAB_00166d47") (: ":") (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return uVar12;\n  }" (if "if") (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_10") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return uVar12;\n  }" ({ "{") (return_statement "return uVar12;" (return "return") (identifier "uVar12") (; ";")) (} "}")))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

ssize_t function_1(type_1 *var_2,type_2 var_4)

{
  long var_21;
  type_3 *var_6;
  size_t var_9;
  type_4 uVar4;
  type_4 uVar5;
  type_4 uVar6;
  type_4 uVar7;
  type_4 uVar8;
  type_4 uVar9;
  type_4 uVar10;
  type_4 uVar11;
  type_5 var_11;
  ssize_t sVar13;
  long var_1;
  type_4 buffer [8];
  
  var_21 = *(long *)(var_1 + 0x28);
  if (var_2 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (Image *) NULL","MagickCore/blob.c",0x176c,"WriteBlobLongLong");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,
                  "WriteBlobLongLong");
  }
  buffer[0] = (type_4)var_4;
  buffer[1] = (type_4)(var_4 >> 8);
  buffer[2] = (type_4)(var_4 >> 0x10);
  buffer[3] = (type_4)(var_4 >> 0x18);
  buffer[4] = (type_4)(var_4 >> 0x20);
  buffer[5] = (type_4)(var_4 >> 0x28);
  buffer[6] = (type_4)(var_4 >> 0x30);
  buffer[7] = (type_4)(var_4 >> 0x38);
  if (var_2->endian == var_5) {
    var_6 = var_2->blob;
    if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_3("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if (var_6->type == var_7) {
                    /* WARNING: Subroutine does not return */
      var_3("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if (var_6->type == var_8) {
      if (var_6->extent <= var_6->offset + 8U) {
        var_9 = var_6->quantum;
        var_6->quantum = var_9 * 2;
        var_11 = var_10(var_2,var_6->extent + 8 + var_9);
        sVar13 = 0;
        if (var_11 == var_12) goto LAB_00166d47;
      }
      *(type_6 *)(var_6->data + var_6->offset) =
           var_13(buffer[7],
                    var_14(buffer[6],
                             var_15(buffer[5],
                                      var_16(buffer[4],
                                               var_17(buffer[3],
                                                        var_18(buffer[2],
                                                                 var_19(buffer[1],buffer[0])))))))
      ;
      var_9 = var_6->offset + 8;
      var_6->offset = var_9;
      sVar13 = 8;
      if ((long)var_6->length <= (long)var_9) {
        var_6->length = var_9;
      }
    }
    else {
      sVar13 = var_20(var_2,8,buffer);
    }
  }
  else {
    var_6 = var_2->blob;
    if (var_6 == (type_3 *)0x0) {
      uVar4 = buffer[0];
      buffer[0] = buffer[7];
      uVar5 = buffer[1];
      buffer[1] = buffer[6];
      uVar6 = buffer[2];
      buffer[2] = buffer[5];
      uVar7 = buffer[3];
      buffer[3] = buffer[4];
      buffer[4] = uVar7;
      buffer[5] = uVar6;
      buffer[6] = uVar5;
      buffer[7] = uVar4;
                    /* WARNING: Subroutine does not return */
      var_3("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if (var_6->type == var_7) {
      uVar4 = buffer[0];
      buffer[0] = buffer[7];
      uVar5 = buffer[1];
      buffer[1] = buffer[6];
      uVar6 = buffer[2];
      buffer[2] = buffer[5];
      uVar7 = buffer[3];
      buffer[3] = buffer[4];
      buffer[4] = uVar7;
      buffer[5] = uVar6;
      buffer[6] = uVar5;
      buffer[7] = uVar4;
                    /* WARNING: Subroutine does not return */
      var_3("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if (var_6->type == var_8) {
      uVar4 = buffer[7];
      uVar5 = buffer[6];
      uVar6 = buffer[5];
      uVar7 = buffer[4];
      uVar8 = buffer[3];
      uVar9 = buffer[2];
      uVar10 = buffer[1];
      uVar11 = buffer[0];
      if (var_6->extent <= var_6->offset + 8U) {
        var_9 = var_6->quantum;
        var_6->quantum = var_9 * 2;
        uVar4 = buffer[0];
        buffer[0] = buffer[7];
        uVar5 = buffer[1];
        buffer[1] = buffer[6];
        uVar6 = buffer[2];
        buffer[2] = buffer[5];
        uVar7 = buffer[3];
        buffer[3] = buffer[4];
        buffer[4] = uVar7;
        buffer[5] = uVar6;
        buffer[6] = uVar5;
        buffer[7] = uVar4;
        var_11 = var_10(var_2,var_6->extent + 8 + var_9);
        sVar13 = 0;
        uVar4 = buffer[0];
        uVar5 = buffer[1];
        uVar6 = buffer[2];
        uVar7 = buffer[3];
        uVar8 = buffer[4];
        uVar9 = buffer[5];
        uVar10 = buffer[6];
        uVar11 = buffer[7];
        if (var_11 == var_12) goto LAB_00166d47;
      }
      buffer[7] = uVar11;
      buffer[6] = uVar10;
      buffer[5] = uVar9;
      buffer[4] = uVar8;
      buffer[3] = uVar7;
      buffer[2] = uVar6;
      buffer[1] = uVar5;
      buffer[0] = uVar4;
      *(type_6 *)(var_6->data + var_6->offset) =
           var_13(buffer[7],
                    var_14(buffer[6],
                             var_15(buffer[5],
                                      var_16(buffer[4],
                                               var_17(buffer[3],
                                                        var_18(buffer[2],
                                                                 var_19(buffer[1],buffer[0])))))))
      ;
      var_9 = var_6->offset + 8;
      var_6->offset = var_9;
      sVar13 = 8;
      if ((long)var_6->length <= (long)var_9) {
        var_6->length = var_9;
      }
    }
    else {
      uVar4 = buffer[0];
      buffer[0] = buffer[7];
      uVar5 = buffer[1];
      buffer[1] = buffer[6];
      uVar6 = buffer[2];
      buffer[2] = buffer[5];
      uVar7 = buffer[3];
      buffer[3] = buffer[4];
      buffer[4] = uVar7;
      buffer[5] = uVar6;
      buffer[6] = uVar5;
      buffer[7] = uVar4;
      sVar13 = var_20(var_2,8,buffer);
    }
  }
LAB_00166d47:
  if (var_21 == *(long *)(var_1 + 0x28)) {
    return sVar13;
  }
                    /* WARNING: Subroutine does not return */
  var_22();
}


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

undefined8 MASKED(long param_1,undefined8 param_2)

{
  long *plVar1;
  long lVar2;
  undefined1 uVar3;
  undefined1 uVar4;
  undefined1 uVar5;
  undefined1 uVar6;
  undefined1 uVar7;
  undefined1 uVar8;
  undefined1 uVar9;
  undefined1 uVar10;
  int iVar11;
  undefined8 uVar12;
  long in_FS_OFFSET;
  undefined1 local_18;
  undefined1 uStack_17;
  undefined1 uStack_16;
  undefined1 uStack_15;
  undefined1 uStack_14;
  undefined1 uStack_13;
  undefined1 uStack_12;
  undefined1 uStack_11;
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/blob.c",0x176c,"MASKED");
  }
  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/blob.c",0x176d,
                  "MASKED");
  }
  local_18 = (undefined1)param_2;
  uStack_17 = (undefined1)((ulong)param_2 >> 8);
  uStack_16 = (undefined1)((ulong)param_2 >> 0x10);
  uStack_15 = (undefined1)((ulong)param_2 >> 0x18);
  uStack_14 = (undefined1)((ulong)param_2 >> 0x20);
  uStack_13 = (undefined1)((ulong)param_2 >> 0x28);
  uStack_12 = (undefined1)((ulong)param_2 >> 0x30);
  uStack_11 = (undefined1)((ulong)param_2 >> 0x38);
  if (*(int *)(param_1 + 0x2ac) == 1) {
    plVar1 = *(long **)(param_1 + 0x3408);
    if (plVar1 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if ((int)plVar1[10] == 0) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if ((int)plVar1[10] == 7) {
      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {
        lVar2 = plVar1[2];
        plVar1[2] = lVar2 * 2;
        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);
        uVar12 = 0;
        if (iVar11 == 0) goto LAB_00166d47;
      }
      *(ulong *)(plVar1[0x20] + plVar1[6]) =
           CONCAT17(uStack_11,
                    CONCAT16(uStack_12,
                             CONCAT15(uStack_13,
                                      CONCAT14(uStack_14,
                                               CONCAT13(uStack_15,
                                                        CONCAT12(uStack_16,
                                                                 CONCAT11(uStack_17,local_18)))))));
      lVar2 = plVar1[6] + 8;
      plVar1[6] = lVar2;
      uVar12 = 8;
      if (*plVar1 <= lVar2) {
        *plVar1 = lVar2;
      }
    }
    else {
      uVar12 = WriteBlob(param_1,8,&local_18);
    }
  }
  else {
    plVar1 = *(long **)(param_1 + 0x3408);
    if (plVar1 == (long *)0x0) {
      uVar3 = local_18;
      local_18 = uStack_11;
      uVar4 = uStack_17;
      uStack_17 = uStack_12;
      uVar5 = uStack_16;
      uStack_16 = uStack_13;
      uVar6 = uStack_15;
      uStack_15 = uStack_14;
      uStack_14 = uVar6;
      uStack_13 = uVar5;
      uStack_12 = uVar4;
      uStack_11 = uVar3;
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob != (BlobInfo *) NULL","MagickCore/blob.c",0x638,"WriteBlobStream");
    }
    if ((int)plVar1[10] == 0) {
      uVar3 = local_18;
      local_18 = uStack_11;
      uVar4 = uStack_17;
      uStack_17 = uStack_12;
      uVar5 = uStack_16;
      uStack_16 = uStack_13;
      uVar6 = uStack_15;
      uStack_15 = uStack_14;
      uStack_14 = uVar6;
      uStack_13 = uVar5;
      uStack_12 = uVar4;
      uStack_11 = uVar3;
                    /* WARNING: Subroutine does not return */
      __assert_fail("image->blob->type != UndefinedStream","MagickCore/blob.c",0x639,
                    "WriteBlobStream");
    }
    if ((int)plVar1[10] == 7) {
      uVar3 = uStack_11;
      uVar4 = uStack_12;
      uVar5 = uStack_13;
      uVar6 = uStack_14;
      uVar7 = uStack_15;
      uVar8 = uStack_16;
      uVar9 = uStack_17;
      uVar10 = local_18;
      if ((ulong)plVar1[1] <= plVar1[6] + 8U) {
        lVar2 = plVar1[2];
        plVar1[2] = lVar2 * 2;
        uVar3 = local_18;
        local_18 = uStack_11;
        uVar4 = uStack_17;
        uStack_17 = uStack_12;
        uVar5 = uStack_16;
        uStack_16 = uStack_13;
        uVar6 = uStack_15;
        uStack_15 = uStack_14;
        uStack_14 = uVar6;
        uStack_13 = uVar5;
        uStack_12 = uVar4;
        uStack_11 = uVar3;
        iVar11 = SetBlobExtent(param_1,plVar1[1] + 8U + lVar2);
        uVar12 = 0;
        uVar3 = local_18;
        uVar4 = uStack_17;
        uVar5 = uStack_16;
        uVar6 = uStack_15;
        uVar7 = uStack_14;
        uVar8 = uStack_13;
        uVar9 = uStack_12;
        uVar10 = uStack_11;
        if (iVar11 == 0) goto LAB_00166d47;
      }
      uStack_11 = uVar10;
      uStack_12 = uVar9;
      uStack_13 = uVar8;
      uStack_14 = uVar7;
      uStack_15 = uVar6;
      uStack_16 = uVar5;
      uStack_17 = uVar4;
      local_18 = uVar3;
      *(ulong *)(plVar1[0x20] + plVar1[6]) =
           CONCAT17(uStack_11,
                    CONCAT16(uStack_12,
                             CONCAT15(uStack_13,
                                      CONCAT14(uStack_14,
                                               CONCAT13(uStack_15,
                                                        CONCAT12(uStack_16,
                                                                 CONCAT11(uStack_17,local_18)))))));
      lVar2 = plVar1[6] + 8;
      plVar1[6] = lVar2;
      uVar12 = 8;
      if (*plVar1 <= lVar2) {
        *plVar1 = lVar2;
      }
    }
    else {
      uVar3 = local_18;
      local_18 = uStack_11;
      uVar4 = uStack_17;
      uStack_17 = uStack_12;
      uVar5 = uStack_16;
      uStack_16 = uStack_13;
      uVar6 = uStack_15;
      uStack_15 = uStack_14;
      uStack_14 = uVar6;
      uStack_13 = uVar5;
      uStack_12 = uVar4;
      uStack_11 = uVar3;
      uVar12 = WriteBlob(param_1,8,&local_18);
    }
  }
LAB_00166d47:
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return uVar12;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

