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

void DrawPathLineToAbsolute(DrawingWand *wand,double x,double y)

{
  PathOperation PVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (wand == (DrawingWand *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,
                  "DrawPathLineToAbsolute");
  }
  if (wand->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,
                  "DrawPathLineToAbsolute");
  }
  uVar3 = (undefined4)((ulonglong)y >> 0x20);
  uVar2 = (undefined4)((ulonglong)x >> 0x20);
  if (wand->debug != MagickFalse) {
    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",
                   wand->name);
    if (wand->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,
                    "DrawPathLineTo");
    }
    if (wand->debug != MagickFalse) {
      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);
      PVar1 = wand->path_operation;
      goto joined_r0x0005cf6a;
    }
  }
  PVar1 = wand->path_operation;
joined_r0x0005cf6a:
  if ((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)) {
    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);
  }
  else {
    wand->path_operation = PathLineToOperation;
    wand->path_mode = AbsolutePathMode;
    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);
  }
  return;
}



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

void DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,
                  "DrawPathLineToAbsolute");
  }
  if (*(int *)(param_1 + 0x1054) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,
                  "DrawPathLineToAbsolute");
  }
  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);
  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);
  if (*(int *)(param_1 + 0x1050) != 0) {
    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",
                   param_1 + 4);
    if (*(int *)(param_1 + 0x1054) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,
                    "DrawPathLineTo");
    }
    if (*(int *)(param_1 + 0x1050) != 0) {
      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);
      iVar1 = *(int *)(param_1 + 0x1044);
      goto joined_r0x0005cf6a;
    }
  }
  iVar1 = *(int *)(param_1 + 0x1044);
joined_r0x0005cf6a:
  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {
    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);
  }
  else {
    *(undefined4 *)(param_1 + 0x1044) = 8;
    *(undefined4 *)(param_1 + 0x1048) = 1;
    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);
  }
  return;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0001e920
ADD EBX,0x10d1b7
SUB ESP,0x2c
MOV ESI,dword ptr [ESP + 0x40]
FLD qword ptr [ESP + 0x44]
FLD qword ptr [ESP + 0x4c]
TEST ESI,ESI
JZ 0x0005cfda
CMP dword ptr [ESI + 0x1054],0xabacadab
JNZ 0x0005cfb7
MOV EDX,dword ptr [ESI + 0x1050]
TEST EDX,EDX
JNZ 0x0005ced0
CMP dword ptr [ESI + 0x1044],0x8
JZ 0x0005cf72
JMP 0x0005ce92
FXCH
MOV dword ptr [ESI + 0x1044],0x8
LEA EAX,[EBX + 0xfff88b60]
SUB ESP,0x14
MOV dword ptr [ESI + 0x1048],0x1
FSTP qword ptr [ESP + 0x8]
FSTP qword ptr [ESP]
PUSH 0x4c
PUSH EAX
PUSH ESI
CALL 0x000571b0
ADD ESP,0x20
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
FSTP qword ptr [ESP + 0x18]
LEA EDX,[ESI + 0x4]
SUB ESP,0x8
FSTP qword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xfff8a074]
PUSH EDX
LEA EBP,[EBX + 0xfff91a64]
LEA EDI,[EBX + 0xfff888f8]
MOV dword ptr [ESP + 0x14],EDX
PUSH EBP
PUSH 0xdeb
PUSH EAX
PUSH EDI
PUSH 0x40000
CALL 0x0001d6f0
ADD ESP,0x20
CMP dword ptr [ESI + 0x1054],0xabacadab
JNZ 0x0005cf9e
MOV EAX,dword ptr [ESI + 0x1050]
FLD qword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x8]
FLD qword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x0005ce80
FSTP qword ptr [ESP + 0x10]
LEA EAX,[EBX + 0xfff8a054]
SUB ESP,0x8
FSTP qword ptr [ESP + 0x10]
PUSH EDX
PUSH EBP
PUSH 0xdd8
PUSH EAX
PUSH EDI
PUSH 0x40000
CALL 0x0001d6f0
ADD ESP,0x20
CMP dword ptr [ESI + 0x1044],0x8
FLD qword ptr [ESP + 0x10]
FLD qword ptr [ESP + 0x8]
JNZ 0x0005ce90
FXCH
CMP dword ptr [ESI + 0x1048],0x1
JNZ 0x0005ce92
LEA EAX,[EBX + 0xfff88b53]
SUB ESP,0x18
FSTP qword ptr [ESP + 0x8]
FSTP qword ptr [ESP]
PUSH EAX
PUSH ESI
CALL 0x000571b0
ADD ESP,0x20
JMP 0x0005cec2
LEA EAX,[EBX + 0xfff8a064]
PUSH EAX
LEA EAX,[EBX + 0xfff8d4b8]
PUSH 0xdd6
PUSH EDI
PUSH EAX
CALL 0x0001ccf0
FSTP ST0
FSTP ST0
LEA EAX,[EBX + 0xfff8a08c]
PUSH EAX
LEA EAX,[EBX + 0xfff888f8]
PUSH 0xde9
PUSH EAX
LEA EAX,[EBX + 0xfff8d4b8]
PUSH EAX
CALL 0x0001ccf0
FSTP ST0
FSTP ST0
LEA EAX,[EBX + 0xfff8a08c]
PUSH EAX
LEA EAX,[EBX + 0xfff888f8]
PUSH 0xde8
PUSH EAX
LEA EAX,[EBX + 0xfff88912]
PUSH EAX
CALL 0x0001ccf0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}\n\n" comment (function_definition "void DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}" primitive_type (function_declarator "DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(int param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\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("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }" { comment (expression_statement "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" identifier (argument_list "("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" ( (string_literal ""wand != (DrawingWand *) NULL"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineToAbsolute"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" { comment (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" identifier (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" ( (string_literal ""wand->signature == MagickWandSignature"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineToAbsolute"" " string_content ") ))) ;) })) (expression_statement "uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);" (assignment_expression "uVar3 = (undefined4)((ulonglong)param_3 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)param_3 >> 0x20)" ( (binary_expression "(ulonglong)param_3 >> 0x20" (cast_expression "(ulonglong)param_3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);" (assignment_expression "uVar2 = (undefined4)((ulonglong)param_2 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)param_2 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)param_2 >> 0x20)" ( (binary_expression "(ulonglong)param_2 >> 0x20" (cast_expression "(ulonglong)param_2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""DrawPathLineToAbsolute"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" { comment (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" identifier (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" ( (string_literal ""wand->signature == MagickWandSignature"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineTo"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""DrawPathLineTo"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1044);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1044)" identifier = (pointer_expression "*(int *)(param_1 + 0x1044)" * (cast_expression "(int *)(param_1 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0005cf6a;" goto statement_identifier ;) })) })) (expression_statement "iVar1 = *(int *)(param_1 + 0x1044);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1044)" identifier = (pointer_expression "*(int *)(param_1 + 0x1044)" * (cast_expression "(int *)(param_1 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" statement_identifier : (if_statement "if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" if (parenthesized_expression "((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1))" ( (binary_expression "(iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)" (parenthesized_expression "(iVar1 == 8)" ( (binary_expression "iVar1 == 8" identifier == number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x1048) == 1)" ( (binary_expression "*(int *)(param_1 + 0x1048) == 1" (pointer_expression "*(int *)(param_1 + 0x1048)" * (cast_expression "(int *)(param_1 + 0x1048)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }" { (expression_statement "FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);" (call_expression "FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3)" identifier (argument_list "(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3)" ( identifier , (string_literal "" %.20g %.20g"" " string_content ") , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) }) (else_clause "else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" else (compound_statement "{\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x1044) = 8;" (assignment_expression "*(undefined4 *)(param_1 + 0x1044) = 8" (pointer_expression "*(undefined4 *)(param_1 + 0x1044)" * (cast_expression "(undefined4 *)(param_1 + 0x1044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1048) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x1048) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x1048)" * (cast_expression "(undefined4 *)(param_1 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);" (call_expression "FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3)" identifier (argument_list "(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3)" ( identifier , (string_literal ""%c%.20g %.20g"" " string_content ") , number_literal , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) })))) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nvoid DrawPathLineToAbsolute(DrawingWand *wand,double x,double y)\n\n{\n  PathOperation PVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (wand == (DrawingWand *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)y >> 0x20);\n  uVar2 = (undefined4)((ulonglong)x >> 0x20);\n  if (wand->debug != MagickFalse) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name);\n    if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (wand->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }\n  }\n  PVar1 = wand->path_operation;\njoined_r0x0005cf6a:\n  if ((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)) {\n    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  else {\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "void DrawPathLineToAbsolute(DrawingWand *wand,double x,double y)\n\n{\n  PathOperation PVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (wand == (DrawingWand *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)y >> 0x20);\n  uVar2 = (undefined4)((ulonglong)x >> 0x20);\n  if (wand->debug != MagickFalse) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name);\n    if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (wand->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }\n  }\n  PVar1 = wand->path_operation;\njoined_r0x0005cf6a:\n  if ((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)) {\n    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  else {\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  return;\n}" primitive_type (function_declarator "DrawPathLineToAbsolute(DrawingWand *wand,double x,double y)" identifier (parameter_list "(DrawingWand *wand,double x,double y)" ( (parameter_declaration "DrawingWand *wand" type_identifier (pointer_declarator "*wand" * identifier)) , (parameter_declaration "double x" primitive_type identifier) , (parameter_declaration "double y" primitive_type identifier) ))) (compound_statement "{\n  PathOperation PVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (wand == (DrawingWand *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)y >> 0x20);\n  uVar2 = (undefined4)((ulonglong)x >> 0x20);\n  if (wand->debug != MagickFalse) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name);\n    if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (wand->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }\n  }\n  PVar1 = wand->path_operation;\njoined_r0x0005cf6a:\n  if ((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)) {\n    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  else {\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  return;\n}" { (declaration "PathOperation PVar1;" type_identifier identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (wand == (DrawingWand *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }" if (parenthesized_expression "(wand == (DrawingWand *)0x0)" ( (binary_expression "wand == (DrawingWand *)0x0" identifier == (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }" { comment (expression_statement "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" identifier (argument_list "("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" ( (string_literal ""wand != (DrawingWand *) NULL"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineToAbsolute"" " string_content ") ))) ;) })) (if_statement "if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" if (parenthesized_expression "(wand->signature != 0xabacadab)" ( (binary_expression "wand->signature != 0xabacadab" (field_expression "wand->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" { comment (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" identifier (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" ( (string_literal ""wand->signature == MagickWandSignature"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineToAbsolute"" " string_content ") ))) ;) })) (expression_statement "uVar3 = (undefined4)((ulonglong)y >> 0x20);" (assignment_expression "uVar3 = (undefined4)((ulonglong)y >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)y >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)y >> 0x20)" ( (binary_expression "(ulonglong)y >> 0x20" (cast_expression "(ulonglong)y" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = (undefined4)((ulonglong)x >> 0x20);" (assignment_expression "uVar2 = (undefined4)((ulonglong)x >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)x >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)x >> 0x20)" ( (binary_expression "(ulonglong)x >> 0x20" (cast_expression "(ulonglong)x" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (wand->debug != MagickFalse) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name);\n    if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (wand->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }\n  }" if (parenthesized_expression "(wand->debug != MagickFalse)" ( (binary_expression "wand->debug != MagickFalse" (field_expression "wand->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name);\n    if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (wand->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }\n  }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   wand->name)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""DrawPathLineToAbsolute"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "wand->name" identifier -> field_identifier) ))) ;) (if_statement "if (wand->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" if (parenthesized_expression "(wand->signature != 0xabacadab)" ( (binary_expression "wand->signature != 0xabacadab" (field_expression "wand->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" { comment (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" identifier (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" ( (string_literal ""wand->signature == MagickWandSignature"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineTo"" " string_content ") ))) ;) })) (if_statement "if (wand->debug != MagickFalse) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }" if (parenthesized_expression "(wand->debug != MagickFalse)" ( (binary_expression "wand->debug != MagickFalse" (field_expression "wand->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);\n      PVar1 = wand->path_operation;\n      goto joined_r0x0005cf6a;\n    }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",wand->name)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""DrawPathLineTo"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "wand->name" identifier -> field_identifier) ))) ;) (expression_statement "PVar1 = wand->path_operation;" (assignment_expression "PVar1 = wand->path_operation" identifier = (field_expression "wand->path_operation" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x0005cf6a;" goto statement_identifier ;) })) })) (expression_statement "PVar1 = wand->path_operation;" (assignment_expression "PVar1 = wand->path_operation" identifier = (field_expression "wand->path_operation" identifier -> field_identifier)) ;) (labeled_statement "joined_r0x0005cf6a:\n  if ((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)) {\n    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  else {\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }" statement_identifier : (if_statement "if ((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)) {\n    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }\n  else {\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }" if (parenthesized_expression "((PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode))" ( (binary_expression "(PVar1 == PathLineToOperation) && (wand->path_mode == AbsolutePathMode)" (parenthesized_expression "(PVar1 == PathLineToOperation)" ( (binary_expression "PVar1 == PathLineToOperation" identifier == identifier) )) && (parenthesized_expression "(wand->path_mode == AbsolutePathMode)" ( (binary_expression "wand->path_mode == AbsolutePathMode" (field_expression "wand->path_mode" identifier -> field_identifier) == identifier) ))) )) (compound_statement "{\n    MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }" { (expression_statement "MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3);" (call_expression "MVGAutoWrapPrintf(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3)" identifier (argument_list "(wand," %.20g %.20g",SUB84(x,0),uVar2,SUB84(y,0),uVar3)" ( identifier , (string_literal "" %.20g %.20g"" " string_content ") , (call_expression "SUB84(x,0)" identifier (argument_list "(x,0)" ( identifier , number_literal ))) , identifier , (call_expression "SUB84(y,0)" identifier (argument_list "(y,0)" ( identifier , number_literal ))) , identifier ))) ;) }) (else_clause "else {\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }" else (compound_statement "{\n    wand->path_operation = PathLineToOperation;\n    wand->path_mode = AbsolutePathMode;\n    MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);\n  }" { (expression_statement "wand->path_operation = PathLineToOperation;" (assignment_expression "wand->path_operation = PathLineToOperation" (field_expression "wand->path_operation" identifier -> field_identifier) = identifier) ;) (expression_statement "wand->path_mode = AbsolutePathMode;" (assignment_expression "wand->path_mode = AbsolutePathMode" (field_expression "wand->path_mode" identifier -> field_identifier) = identifier) ;) (expression_statement "MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3);" (call_expression "MVGAutoWrapPrintf(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3)" identifier (argument_list "(wand,"%c%.20g %.20g",0x4c,SUB84(x,0),uVar2,SUB84(y,0),uVar3)" ( identifier , (string_literal ""%c%.20g %.20g"" " string_content ") , number_literal , (call_expression "SUB84(x,0)" identifier (argument_list "(x,0)" ( identifier , number_literal ))) , identifier , (call_expression "SUB84(y,0)" identifier (argument_list "(y,0)" ( identifier , number_literal ))) , identifier ))) ;) })))) (return_statement "return;" return ;) })))
(translation_unit "void DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}\n\n" (function_definition "void DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}" primitive_type (function_declarator "DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)" identifier (parameter_list "(int param_1,undefined8 param_2,undefined8 param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }" { (expression_statement "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" identifier (argument_list "("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" ( (string_literal ""wand != (DrawingWand *) NULL"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineToAbsolute"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" { (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" identifier (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" ( (string_literal ""wand->signature == MagickWandSignature"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineToAbsolute"" " string_content ") ))) ;) })) (expression_statement "uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);" (assignment_expression "uVar3 = (undefined4)((ulonglong)param_3 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)param_3 >> 0x20)" ( (binary_expression "(ulonglong)param_3 >> 0x20" (cast_expression "(ulonglong)param_3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);" (assignment_expression "uVar2 = (undefined4)((ulonglong)param_2 >> 0x20)" identifier = (call_expression "(undefined4)((ulonglong)param_2 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)param_2 >> 0x20)" ( (binary_expression "(ulonglong)param_2 >> 0x20" (cast_expression "(ulonglong)param_2" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""DrawPathLineToAbsolute"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" { (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" identifier (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" ( (string_literal ""wand->signature == MagickWandSignature"" " string_content ") , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , number_literal , (string_literal ""DrawPathLineTo"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }" { (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4)" identifier (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4)" ( number_literal , (string_literal ""MagickWand/drawing-wand.c"" " string_content ") , (string_literal ""DrawPathLineTo"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x1044);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1044)" identifier = (pointer_expression "*(int *)(param_1 + 0x1044)" * (cast_expression "(int *)(param_1 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) ))))) ;) (goto_statement "goto joined_r0x0005cf6a;" goto statement_identifier ;) })) })) (expression_statement "iVar1 = *(int *)(param_1 + 0x1044);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1044)" identifier = (pointer_expression "*(int *)(param_1 + 0x1044)" * (cast_expression "(int *)(param_1 + 0x1044)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) ))))) ;) (labeled_statement "joined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" statement_identifier : (if_statement "if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" if (parenthesized_expression "((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1))" ( (binary_expression "(iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)" (parenthesized_expression "(iVar1 == 8)" ( (binary_expression "iVar1 == 8" identifier == number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x1048) == 1)" ( (binary_expression "*(int *)(param_1 + 0x1048) == 1" (pointer_expression "*(int *)(param_1 + 0x1048)" * (cast_expression "(int *)(param_1 + 0x1048)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }" { (expression_statement "FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);" (call_expression "FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3)" identifier (argument_list "(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3)" ( identifier , (string_literal "" %.20g %.20g"" " string_content ") , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) }) (else_clause "else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" else (compound_statement "{\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" { (expression_statement "*(undefined4 *)(param_1 + 0x1044) = 8;" (assignment_expression "*(undefined4 *)(param_1 + 0x1044) = 8" (pointer_expression "*(undefined4 *)(param_1 + 0x1044)" * (cast_expression "(undefined4 *)(param_1 + 0x1044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1044)" ( (binary_expression "param_1 + 0x1044" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x1048) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x1048) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x1048)" * (cast_expression "(undefined4 *)(param_1 + 0x1048)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1048)" ( (binary_expression "param_1 + 0x1048" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);" (call_expression "FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3)" identifier (argument_list "(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3)" ( identifier , (string_literal ""%c%.20g %.20g"" " string_content ") , number_literal , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) , identifier ))) ;) })))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (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 (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) })))) (return_statement return ;) })))
(function_definition "void DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "DrawPathLineToAbsolute(int param_1,undefined8 param_2,undefined8 param_3)" (identifier "DrawPathLineToAbsolute") (parameter_list "(int param_1,undefined8 param_2,undefined8 param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  \n  if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }\n  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);\n  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }\n  iVar1 = *(int *)(param_1 + 0x1044);\njoined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\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("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");\n  }" ({ "{") (expression_statement "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" (identifier "__assert_fail") (argument_list "("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,\n                  "DrawPathLineToAbsolute")" (( "(") (string_literal ""wand != (DrawingWand *) NULL"" (" """) (string_content "wand != (DrawingWand *) NULL") (" """)) (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (number_literal "0xde8") (, ",") (string_literal ""DrawPathLineToAbsolute"" (" """) (string_content "DrawPathLineToAbsolute") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" (* "*") (cast_expression "(int *)(param_1 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1054)" (( "(") (binary_expression "param_1 + 0x1054" (identifier "param_1") (+ "+") (number_literal "0x1054")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");\n  }" ({ "{") (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" (identifier "__assert_fail") (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,\n                  "DrawPathLineToAbsolute")" (( "(") (string_literal ""wand->signature == MagickWandSignature"" (" """) (string_content "wand->signature == MagickWandSignature") (" """)) (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (number_literal "0xde9") (, ",") (string_literal ""DrawPathLineToAbsolute"" (" """) (string_content "DrawPathLineToAbsolute") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);" (assignment_expression "uVar3 = (undefined4)((ulonglong)param_3 >> 0x20)" (identifier "uVar3") (= "=") (call_expression "(undefined4)((ulonglong)param_3 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)param_3 >> 0x20)" (( "(") (binary_expression "(ulonglong)param_3 >> 0x20" (cast_expression "(ulonglong)param_3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "param_3")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);" (assignment_expression "uVar2 = (undefined4)((ulonglong)param_2 >> 0x20)" (identifier "uVar2") (= "=") (call_expression "(undefined4)((ulonglong)param_2 >> 0x20)" (parenthesized_expression "(undefined4)" (( "(") (identifier "undefined4") () ")")) (argument_list "((ulonglong)param_2 >> 0x20)" (( "(") (binary_expression "(ulonglong)param_2 >> 0x20" (cast_expression "(ulonglong)param_2" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "param_2")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" (* "*") (cast_expression "(int *)(param_1 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1050)" (( "(") (binary_expression "param_1 + 0x1050" (identifier "param_1") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);\n    if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }\n    if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }\n  }" ({ "{") (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4)" (identifier "LogMagickEvent") (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",\n                   param_1 + 4)" (( "(") (number_literal "0x40000") (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (string_literal ""DrawPathLineToAbsolute"" (" """) (string_content "DrawPathLineToAbsolute") (" """)) (, ",") (number_literal "0xdeb") (, ",") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" (* "*") (cast_expression "(int *)(param_1 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1054)" (( "(") (binary_expression "param_1 + 0x1054" (identifier "param_1") (+ "+") (number_literal "0x1054")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");\n    }" ({ "{") (expression_statement "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo");" (call_expression "__assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" (identifier "__assert_fail") (argument_list "("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,\n                    "DrawPathLineTo")" (( "(") (string_literal ""wand->signature == MagickWandSignature"" (" """) (string_content "wand->signature == MagickWandSignature") (" """)) (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (number_literal "0xdd6") (, ",") (string_literal ""DrawPathLineTo"" (" """) (string_content "DrawPathLineTo") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" (* "*") (cast_expression "(int *)(param_1 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1050)" (( "(") (binary_expression "param_1 + 0x1050" (identifier "param_1") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);\n      iVar1 = *(int *)(param_1 + 0x1044);\n      goto joined_r0x0005cf6a;\n    }" ({ "{") (expression_statement "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);" (call_expression "LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4)" (identifier "LogMagickEvent") (argument_list "(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4)" (( "(") (number_literal "0x40000") (, ",") (string_literal ""MagickWand/drawing-wand.c"" (" """) (string_content "MagickWand/drawing-wand.c") (" """)) (, ",") (string_literal ""DrawPathLineTo"" (" """) (string_content "DrawPathLineTo") (" """)) (, ",") (number_literal "0xdd8") (, ",") (string_literal ""%s"" (" """) (string_content "%s") (" """)) (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x1044);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1044)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1044)" (* "*") (cast_expression "(int *)(param_1 + 0x1044)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1044)" (( "(") (binary_expression "param_1 + 0x1044" (identifier "param_1") (+ "+") (number_literal "0x1044")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x0005cf6a;" (goto "goto") (statement_identifier "joined_r0x0005cf6a") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar1 = *(int *)(param_1 + 0x1044);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x1044)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x1044)" (* "*") (cast_expression "(int *)(param_1 + 0x1044)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1044)" (( "(") (binary_expression "param_1 + 0x1044" (identifier "param_1") (+ "+") (number_literal "0x1044")) () ")"))))) (; ";")) (labeled_statement "joined_r0x0005cf6a:\n  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" (statement_identifier "joined_r0x0005cf6a") (: ":") (if_statement "if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }\n  else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" (if "if") (parenthesized_expression "((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1))" (( "(") (binary_expression "(iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)" (parenthesized_expression "(iVar1 == 8)" (( "(") (binary_expression "iVar1 == 8" (identifier "iVar1") (== "==") (number_literal "8")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x1048) == 1)" (( "(") (binary_expression "*(int *)(param_1 + 0x1048) == 1" (pointer_expression "*(int *)(param_1 + 0x1048)" (* "*") (cast_expression "(int *)(param_1 + 0x1048)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1048)" (( "(") (binary_expression "param_1 + 0x1048" (identifier "param_1") (+ "+") (number_literal "0x1048")) () ")")))) (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);\n  }" ({ "{") (expression_statement "FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);" (call_expression "FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3)" (identifier "FUN_000571b0") (argument_list "(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3)" (( "(") (identifier "param_1") (, ",") (string_literal "" %.20g %.20g"" (" """) (string_content " %.20g %.20g") (" """)) (, ",") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (, ",") (identifier "uVar2") (, ",") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" (else "else") (compound_statement "{\n    *(undefined4 *)(param_1 + 0x1044) = 8;\n    *(undefined4 *)(param_1 + 0x1048) = 1;\n    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);\n  }" ({ "{") (expression_statement "*(undefined4 *)(param_1 + 0x1044) = 8;" (assignment_expression "*(undefined4 *)(param_1 + 0x1044) = 8" (pointer_expression "*(undefined4 *)(param_1 + 0x1044)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1044)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1044)" (( "(") (binary_expression "param_1 + 0x1044" (identifier "param_1") (+ "+") (number_literal "0x1044")) () ")")))) (= "=") (number_literal "8")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x1048) = 1;" (assignment_expression "*(undefined4 *)(param_1 + 0x1048) = 1" (pointer_expression "*(undefined4 *)(param_1 + 0x1048)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x1048)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1048)" (( "(") (binary_expression "param_1 + 0x1048" (identifier "param_1") (+ "+") (number_literal "0x1048")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);" (call_expression "FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3)" (identifier "FUN_000571b0") (argument_list "(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3)" (( "(") (identifier "param_1") (, ",") (string_literal ""%c%.20g %.20g"" (" """) (string_content "%c%.20g %.20g") (" """)) (, ",") (number_literal "0x4c") (, ",") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (, ",") (identifier "uVar2") (, ",") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (, ",") (identifier "uVar3") () ")"))) (; ";")) (} "}"))))) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(type_1 *var_1,double x,double y)

{
  type_2 var_5;
  type_3 uVar2;
  type_3 uVar3;
  
  if (var_1 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,
                  "DrawPathLineToAbsolute");
  }
  if (var_1->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_2("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,
                  "DrawPathLineToAbsolute");
  }
  uVar3 = (type_3)((type_4)y >> 0x20);
  uVar2 = (type_3)((type_4)x >> 0x20);
  if (var_1->debug != var_3) {
    var_4(0x40000,"MagickWand/drawing-wand.c","DrawPathLineToAbsolute",0xdeb,"%s",
                   var_1->name);
    if (var_1->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
      var_2("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,
                    "DrawPathLineTo");
    }
    if (var_1->debug != var_3) {
      var_4(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",var_1->name);
      var_5 = var_1->path_operation;
      goto joined_r0x0005cf6a;
    }
  }
  var_5 = var_1->path_operation;
joined_r0x0005cf6a:
  if ((var_5 == var_6) && (var_1->path_mode == var_7)) {
    var_8(var_1," %.20g %.20g",var_9(x,0),uVar2,var_9(y,0),uVar3);
  }
  else {
    var_1->path_operation = var_6;
    var_1->path_mode = var_7;
    var_8(var_1,"%c%.20g %.20g",0x4c,var_9(x,0),uVar2,var_9(y,0),uVar3);
  }
  return;
}


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

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

void MASKED(int param_1,undefined8 param_2,undefined8 param_3)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("wand != (DrawingWand *) NULL","MagickWand/drawing-wand.c",0xde8,
                  "MASKED");
  }
  if (*(int *)(param_1 + 0x1054) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xde9,
                  "MASKED");
  }
  uVar3 = (undefined4)((ulonglong)param_3 >> 0x20);
  uVar2 = (undefined4)((ulonglong)param_2 >> 0x20);
  if (*(int *)(param_1 + 0x1050) != 0) {
    LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","MASKED",0xdeb,"%s",
                   param_1 + 4);
    if (*(int *)(param_1 + 0x1054) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("wand->signature == MagickWandSignature","MagickWand/drawing-wand.c",0xdd6,
                    "DrawPathLineTo");
    }
    if (*(int *)(param_1 + 0x1050) != 0) {
      LogMagickEvent(0x40000,"MagickWand/drawing-wand.c","DrawPathLineTo",0xdd8,"%s",param_1 + 4);
      iVar1 = *(int *)(param_1 + 0x1044);
      goto joined_r0x0005cf6a;
    }
  }
  iVar1 = *(int *)(param_1 + 0x1044);
joined_r0x0005cf6a:
  if ((iVar1 == 8) && (*(int *)(param_1 + 0x1048) == 1)) {
    FUN_000571b0(param_1," %.20g %.20g",(int)param_2,uVar2,(int)param_3,uVar3);
  }
  else {
    *(undefined4 *)(param_1 + 0x1044) = 8;
    *(undefined4 *)(param_1 + 0x1048) = 1;
    FUN_000571b0(param_1,"%c%.20g %.20g",0x4c,(int)param_2,uVar2,(int)param_3,uVar3);
  }
  return;
}

