
ssize_t FormatMagickSize(MagickSizeType size,MagickBooleanType bi,char *suffix,size_t length,
                        char *format)

{
  int iVar1;
  undefined4 uVar2;
  int *piVar3;
  ssize_t sVar4;
  int iVar5;
  int iVar6;
  undefined *puVar7;
  double dVar8;
  double dVar9;
  double dVar10;
  double dVar11;
  char p [4096];
  char q [4096];
  
  iVar1 = *(int *)PTR___stack_chk_guard_003fa248;
  if (length == 0) {
    dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);
    puVar7 = PTR_DAT_003f98cc + -0x6938;
  }
  else {
    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);
    puVar7 = PTR_DAT_003f98cc + -0x6960;
  }
  dVar8 = (double)(*(code *)PTR___floatundidf_003f9900)();
  uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();
  (*(code *)PTR_FormatLocaleString_003f9d94)(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8);
  (*(code *)PTR_FormatLocaleString_003f9d94)(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);
  dVar9 = (double)(*(code *)PTR_strtod_003fa7ac)(p,0);
  dVar10 = (double)(*(code *)PTR_strtod_003fa7ac)(q,0);
  if (dVar9 == dVar10) {
    if (format == (char *)0x0) {
      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);
    }
    else {
      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);
    }
  }
  else {
    iVar6 = 0;
    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {
      iVar6 = 0;
      piVar3 = (int *)(puVar7 + 8);
      do {
        dVar8 = dVar8 / dVar11;
        iVar6 = iVar6 + 1;
        if (dVar8 < dVar11) break;
        iVar5 = *piVar3;
        piVar3 = piVar3 + 1;
      } while (iVar5 != 0);
    }
    if (format == (char *)0x0) {
      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();
      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,
                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));
    }
    else {
      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();
      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,
                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);
    }
  }
  if (iVar1 != *(int *)PTR___stack_chk_guard_003fa248) {
    puVar7 = PTR___stack_chk_fail_003fa07c;
    (*(code *)PTR___stack_chk_fail_003fa07c)();
    iVar1 = (**(code **)(puVar7 + 0x2141b4))();
    if (iVar1 == 0) {
      sVar4 = 0;
    }
    else {
      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);
    }
    return sVar4;
  }
  return sVar4;
}



undefined4
FormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,
                undefined4 param_6)

{
  undefined4 uVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  undefined *puVar5;
  double dVar6;
  double dVar7;
  double dVar8;
  double dVar9;
  undefined1 auStack_2034 [4096];
  undefined1 auStack_1034 [4096];
  int local_34;
  
  local_34 = *(int *)PTR___stack_chk_guard_003fa248;
  if (param_3 == 0) {
    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);
    puVar5 = PTR_DAT_003f98cc + -0x6938;
  }
  else {
    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);
    puVar5 = PTR_DAT_003f98cc + -0x6960;
  }
  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();
  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();
  (*(code *)PTR_FormatLocaleString_003f9d94)
            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);
  (*(code *)PTR_FormatLocaleString_003f9d94)
            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);
  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);
  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);
  if (dVar7 == dVar8) {
    if (param_4 == 0) {
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);
    }
    else {
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);
    }
  }
  else {
    iVar3 = 0;
    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {
      iVar3 = 0;
      piVar2 = (int *)(puVar5 + 8);
      do {
        dVar6 = dVar6 / dVar9;
        iVar3 = iVar3 + 1;
        if (dVar6 < dVar9) break;
        iVar4 = *piVar2;
        piVar2 = piVar2 + 1;
      } while (iVar4 != 0);
    }
    if (param_4 == 0) {
      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,
                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));
    }
    else {
      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,
                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);
    }
  }
  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {
    puVar5 = PTR___stack_chk_fail_003fa07c;
    (*(code *)PTR___stack_chk_fail_003fa07c)();
    iVar3 = (**(code **)(puVar5 + 0x2141b4))();
    if (iVar3 == 0) {
      uVar1 = 0;
    }
    else {
      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);
    }
    return uVar1;
  }
  return uVar1;
}


lui gp,0x22
addiu gp,gp,-0x4a78
addu gp,gp,t9
addiu sp,sp,-0x2060
sw ra,0x2044(sp)
sw s4,0x2040(sp)
sw s3,0x203c(sp)
sw s2,0x2038(sp)
sw s1,0x2034(sp)
sw s0,0x2030(sp)
sdc1 f24,0x2058(sp)
sdc1 f22,0x2050(sp)
sdc1 f20,0x2048(sp)
sw gp,0x20(sp)
or s3,a3,zero
lw s2,0x2074(sp)
lw v0,-0x7668(gp)
lw v0,0x0(v0)
sw v0,0x202c(sp)
beq a2,zero,0x001e650c
_lw v0,-0x7fcc(gp)
lw v0,-0x7fcc(gp)
ldc1 f22,-0xe98(v0)
lw s1,-0x7fe4(gp)
addiu s1,s1,-0x6960
lw t9,-0x7fb0(gp)
jalr t9
_nop
lw gp,0x20(sp)
mov.D f20,f0
lw t9,-0x6f6c(gp)
jalr t9
_nop
lw gp,0x20(sp)
sdc1 f20,0x10(sp)
or a3,v0,zero
lw a2,-0x7fd0(gp)
addiu a2,a2,0x46e0
li a1,0x1000
addiu s4,sp,0x2c
or a0,s4,zero
lw t9,-0x7b1c(gp)
jalr t9
_nop
lw gp,0x20(sp)
sdc1 f20,0x10(sp)
lw a2,-0x7fc4(gp)
addiu a2,a2,0x318c
li a1,0x1000
addiu s0,sp,0x102c
or a0,s0,zero
lw t9,-0x7b1c(gp)
jalr t9
_nop
lw gp,0x20(sp)
or a1,zero,zero
or a0,s4,zero
lw t9,-0x7104(gp)
jalr t9
_nop
lw gp,0x20(sp)
mov.D f24,f0
or a1,zero,zero
or a0,s0,zero
lw t9,-0x7104(gp)
jalr t9
_nop
lw gp,0x20(sp)
c.eq.D f24,f0
bc1t 0x001e651c
_nop
c.le.D f22,f20
bc1f 0x1,0x001e6480
_or s0,zero,zero
lw v0,0x4(s1)
beq v0,zero,0x001e6480
_addiu v0,s1,0x8
or s0,zero,zero
div.D f20,f20,f22
c.le.D f22,f20
bc1f 0x2,0x001e6480
_addiu s0,s0,0x1
addiu v0,v0,0x4
lw v1,-0x4(v0)
bne v1,zero,0x001e6460
_nop
beq s3,zero,0x001e658c
_lw t9,-0x6f6c(gp)
jalr t9
_nop
lw gp,0x20(sp)
sw s3,0x1c(sp)
sll s0,s0,0x2
addu s0,s1,s0
lw v1,0x0(s0)
sw v1,0x18(sp)
sdc1 f20,0x10(sp)
or a3,v0,zero
lw a2,-0x7fb8(gp)
addiu a2,a2,0x3c0
lw a1,0x2070(sp)
or a0,s2,zero
lw t9,-0x7b1c(gp)
jalr t9
_nop
lw gp,0x20(sp)
lw a0,0x202c(sp)
lw v1,-0x7668(gp)
lw v1,0x0(v1)
bne a0,v1,0x001e65d8
_lw ra,0x2044(sp)
lw s4,0x2040(sp)
lw s3,0x203c(sp)
lw s2,0x2038(sp)
lw s1,0x2034(sp)
lw s0,0x2030(sp)
ldc1 f24,0x2058(sp)
ldc1 f22,0x2050(sp)
ldc1 f20,0x2048(sp)
jr ra
_addiu sp,sp,0x2060
ldc1 f22,0x1a80(v0)
lw s1,-0x7fe4(gp)
b 0x001e638c
_addiu s1,s1,-0x6938
beq s3,zero,0x001e6558
_lw a2,-0x7fb8(gp)
sw s3,0x1c(sp)
lw v0,0x0(s1)
sw v0,0x18(sp)
sdc1 f20,0x10(sp)
addiu a2,a2,0x3ac
lw a1,0x2070(sp)
or a0,s2,zero
lw t9,-0x7b1c(gp)
jalr t9
_nop
lw gp,0x20(sp)
b 0x001e64d0
_nop
lw v0,0x0(s1)
sw v0,0x18(sp)
sdc1 f20,0x10(sp)
lw a2,-0x7fb8(gp)
addiu a2,a2,0x3a4
lw a1,0x2070(sp)
or a0,s2,zero
lw t9,-0x7b1c(gp)
jalr t9
_nop
lw gp,0x20(sp)
b 0x001e64d0
_nop
jalr t9
_nop
lw gp,0x20(sp)
sll s0,s0,0x2
addu s1,s1,s0
lw v1,0x0(s1)
sw v1,0x18(sp)
sdc1 f20,0x10(sp)
or a3,v0,zero
lw a2,-0x7fb8(gp)
addiu a2,a2,0x3b8
lw a1,0x2070(sp)
or a0,s2,zero
lw t9,-0x7b1c(gp)
jalr t9
_nop
lw gp,0x20(sp)
b 0x001e64d0
_nop
lw t9,-0x7834(gp)
jalr t9
_nop
(translation_unit "undefined4\nFormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}\n\n" (function_definition "undefined4\nFormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "undefined1 auStack_2034 [4096];" type_identifier (array_declarator "auStack_2034 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_1034 [4096];" type_identifier (array_declarator "auStack_1034 [4096]" identifier [ number_literal ]) ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_003fa248" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }" { (expression_statement "dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);" (assignment_expression "dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80)" identifier = (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x1a80)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x1a80)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x1a80)" ( (binary_expression "PTR_UINT_003f98e4 + 0x1a80" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_DAT_003f98cc + -0x6938;" (assignment_expression "puVar5 = PTR_DAT_003f98cc + -0x6938" identifier = (binary_expression "PTR_DAT_003f98cc + -0x6938" identifier + number_literal)) ;) }) (else_clause "else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" else (compound_statement "{\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" { (expression_statement "dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);" (assignment_expression "dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98)" identifier = (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe98)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe98)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe98)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe98" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_DAT_003f98cc + -0x6960;" (assignment_expression "puVar5 = PTR_DAT_003f98cc + -0x6960" identifier = (binary_expression "PTR_DAT_003f98cc + -0x6960" identifier + number_literal)) ;) }))) (expression_statement "dVar6 = (double)(*(code *)PTR_FUN_003f9900)();" (assignment_expression "dVar6 = (double)(*(code *)PTR_FUN_003f9900)()" identifier = (cast_expression "(double)(*(code *)PTR_FUN_003f9900)()" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_FUN_003f9900)()" (parenthesized_expression "(*(code *)PTR_FUN_003f9900)" ( (pointer_expression "*(code *)PTR_FUN_003f9900" * (cast_expression "(code *)PTR_FUN_003f9900" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6)" ( identifier , number_literal , (binary_expression "PTR_LAB_003f98e0 + 0x46e0" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" ( identifier , number_literal , (binary_expression "PTR_s_Curve_Dimensions_003f98ec + 0x318c" identifier + number_literal) ))) ;) (expression_statement "dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);" (assignment_expression "dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" identifier = (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" ( (pointer_expression "*(code *)PTR_strtod_003fa7ac" * (cast_expression "(code *)PTR_strtod_003fa7ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_2034,0)" ( identifier , number_literal ))))) ;) (expression_statement "dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);" (assignment_expression "dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" identifier = (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" ( (pointer_expression "*(code *)PTR_strtod_003fa7ac" * (cast_expression "(code *)PTR_strtod_003fa7ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_1034,0)" ( identifier , number_literal ))))) ;) (if_statement "if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" if (parenthesized_expression "(dVar7 == dVar8)" ( (binary_expression "dVar7 == dVar8" identifier == identifier) )) (compound_statement "{\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }" { (if_statement "if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }" { (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4" identifier + number_literal) )))) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" { (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" else (compound_statement "{\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (if_statement "if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }" if (parenthesized_expression "((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0))" ( (binary_expression "(dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)" (parenthesized_expression "(dVar9 <= dVar6)" ( (binary_expression "dVar9 <= dVar6" identifier <= identifier) )) && (parenthesized_expression "(*(int *)(puVar5 + 4) != 0)" ( (binary_expression "*(int *)(puVar5 + 4) != 0" (pointer_expression "*(int *)(puVar5 + 4)" * (cast_expression "(int *)(puVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar2 = (int *)(puVar5 + 8);" (assignment_expression "piVar2 = (int *)(puVar5 + 8)" identifier = (cast_expression "(int *)(puVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) ;) (do_statement "do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);" do (compound_statement "{\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      }" { (expression_statement "dVar6 = dVar6 / dVar9;" (assignment_expression "dVar6 = dVar6 / dVar9" identifier = (binary_expression "dVar6 / dVar9" identifier / identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (if_statement "if (dVar6 < dVar9) break;" if (parenthesized_expression "(dVar6 < dVar9)" ( (binary_expression "dVar6 < dVar9" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (if_statement "if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }" { (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)(puVar5 + iVar3 * 4)" * (cast_expression "(undefined4 *)(puVar5 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + iVar3 * 4)" ( (binary_expression "puVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" { (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)(puVar5 + iVar3 * 4)" * (cast_expression "(undefined4 *)(puVar5 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + iVar3 * 4)" ( (binary_expression "puVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) , identifier )))) ;) }))) }))) (if_statement "if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }" if (parenthesized_expression "(local_34 != *(int *)PTR___stack_chk_guard_003fa248)" ( (binary_expression "local_34 != *(int *)PTR___stack_chk_guard_003fa248" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }" { (expression_statement "puVar5 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar5 = PTR___stack_chk_fail_003fa07c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" * (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = (**(code **)(puVar5 + 0x2141b4))();" (assignment_expression "iVar3 = (**(code **)(puVar5 + 0x2141b4))()" identifier = (call_expression "(**(code **)(puVar5 + 0x2141b4))()" (parenthesized_expression "(**(code **)(puVar5 + 0x2141b4))" ( (pointer_expression "**(code **)(puVar5 + 0x2141b4)" * (pointer_expression "*(code **)(puVar5 + 0x2141b4)" * (cast_expression "(code **)(puVar5 + 0x2141b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2141b4)" ( (binary_expression "puVar5 + 0x2141b4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar1 = 0;\n    }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" else (compound_statement "{\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" { (expression_statement "uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);" (assignment_expression "uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3)" identifier = (call_expression "(**(code **)(puVar5 + 0x213ae8))(iVar3)" (parenthesized_expression "(**(code **)(puVar5 + 0x213ae8))" ( (pointer_expression "**(code **)(puVar5 + 0x213ae8)" * (pointer_expression "*(code **)(puVar5 + 0x213ae8)" * (cast_expression "(code **)(puVar5 + 0x213ae8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x213ae8)" ( (binary_expression "puVar5 + 0x213ae8" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) }))) (return_statement "return uVar1;" return identifier ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "ssize_t FormatMagickSize(MagickSizeType size,MagickBooleanType bi,char *suffix,size_t length,\n                        char *format)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  ssize_t sVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  double dVar8;\n  double dVar9;\n  double dVar10;\n  double dVar11;\n  char p [4096];\n  char q [4096];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (length == 0) {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar7 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar7 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar8 = (double)(*(code *)PTR___floatundidf_003f9900)();\n  uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8);\n  (*(code *)PTR_FormatLocaleString_003f9d94)(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar9 = (double)(*(code *)PTR_strtod_003fa7ac)(p,0);\n  dVar10 = (double)(*(code *)PTR_strtod_003fa7ac)(q,0);\n  if (dVar9 == dVar10) {\n    if (format == (char *)0x0) {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar6 = 0;\n    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }\n    if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }\n  }\n  if (iVar1 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar7 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar1 = (**(code **)(puVar7 + 0x2141b4))();\n    if (iVar1 == 0) {\n      sVar4 = 0;\n    }\n    else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }\n    return sVar4;\n  }\n  return sVar4;\n}\n\n" (function_definition "ssize_t FormatMagickSize(MagickSizeType size,MagickBooleanType bi,char *suffix,size_t length,\n                        char *format)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  ssize_t sVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  double dVar8;\n  double dVar9;\n  double dVar10;\n  double dVar11;\n  char p [4096];\n  char q [4096];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (length == 0) {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar7 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar7 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar8 = (double)(*(code *)PTR___floatundidf_003f9900)();\n  uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8);\n  (*(code *)PTR_FormatLocaleString_003f9d94)(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar9 = (double)(*(code *)PTR_strtod_003fa7ac)(p,0);\n  dVar10 = (double)(*(code *)PTR_strtod_003fa7ac)(q,0);\n  if (dVar9 == dVar10) {\n    if (format == (char *)0x0) {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar6 = 0;\n    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }\n    if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }\n  }\n  if (iVar1 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar7 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar1 = (**(code **)(puVar7 + 0x2141b4))();\n    if (iVar1 == 0) {\n      sVar4 = 0;\n    }\n    else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }\n    return sVar4;\n  }\n  return sVar4;\n}" primitive_type (function_declarator "FormatMagickSize(MagickSizeType size,MagickBooleanType bi,char *suffix,size_t length,\n                        char *format)" identifier (parameter_list "(MagickSizeType size,MagickBooleanType bi,char *suffix,size_t length,\n                        char *format)" ( (parameter_declaration "MagickSizeType size" type_identifier identifier) , (parameter_declaration "MagickBooleanType bi" type_identifier identifier) , (parameter_declaration "char *suffix" primitive_type (pointer_declarator "*suffix" * identifier)) , (parameter_declaration "size_t length" primitive_type identifier) , (parameter_declaration "char *format" primitive_type (pointer_declarator "*format" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  int *piVar3;\n  ssize_t sVar4;\n  int iVar5;\n  int iVar6;\n  undefined *puVar7;\n  double dVar8;\n  double dVar9;\n  double dVar10;\n  double dVar11;\n  char p [4096];\n  char q [4096];\n  \n  iVar1 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (length == 0) {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar7 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar7 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar8 = (double)(*(code *)PTR___floatundidf_003f9900)();\n  uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8);\n  (*(code *)PTR_FormatLocaleString_003f9d94)(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar9 = (double)(*(code *)PTR_strtod_003fa7ac)(p,0);\n  dVar10 = (double)(*(code *)PTR_strtod_003fa7ac)(q,0);\n  if (dVar9 == dVar10) {\n    if (format == (char *)0x0) {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar6 = 0;\n    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }\n    if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }\n  }\n  if (iVar1 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar7 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar1 = (**(code **)(puVar7 + 0x2141b4))();\n    if (iVar1 == 0) {\n      sVar4 = 0;\n    }\n    else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }\n    return sVar4;\n  }\n  return sVar4;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "ssize_t sVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "double dVar10;" primitive_type identifier ;) (declaration "double dVar11;" primitive_type identifier ;) (declaration "char p [4096];" primitive_type (array_declarator "p [4096]" identifier [ number_literal ]) ;) (declaration "char q [4096];" primitive_type (array_declarator "q [4096]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)PTR___stack_chk_guard_003fa248;" (assignment_expression "iVar1 = *(int *)PTR___stack_chk_guard_003fa248" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (length == 0) {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar7 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar7 = PTR_DAT_003f98cc + -0x6960;\n  }" if (parenthesized_expression "(length == 0)" ( (binary_expression "length == 0" identifier == number_literal) )) (compound_statement "{\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar7 = PTR_DAT_003f98cc + -0x6938;\n  }" { (expression_statement "dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);" (assignment_expression "dVar11 = *(double *)(PTR_UINT_003f98e4 + 0x1a80)" identifier = (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x1a80)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x1a80)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x1a80)" ( (binary_expression "PTR_UINT_003f98e4 + 0x1a80" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = PTR_DAT_003f98cc + -0x6938;" (assignment_expression "puVar7 = PTR_DAT_003f98cc + -0x6938" identifier = (binary_expression "PTR_DAT_003f98cc + -0x6938" identifier + number_literal)) ;) }) (else_clause "else {\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar7 = PTR_DAT_003f98cc + -0x6960;\n  }" else (compound_statement "{\n    dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar7 = PTR_DAT_003f98cc + -0x6960;\n  }" { (expression_statement "dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98);" (assignment_expression "dVar11 = *(double *)(PTR_UINT_003f98e4 + -0xe98)" identifier = (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe98)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe98)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe98)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe98" identifier + number_literal) ))))) ;) (expression_statement "puVar7 = PTR_DAT_003f98cc + -0x6960;" (assignment_expression "puVar7 = PTR_DAT_003f98cc + -0x6960" identifier = (binary_expression "PTR_DAT_003f98cc + -0x6960" identifier + number_literal)) ;) }))) (expression_statement "dVar8 = (double)(*(code *)PTR___floatundidf_003f9900)();" (assignment_expression "dVar8 = (double)(*(code *)PTR___floatundidf_003f9900)()" identifier = (cast_expression "(double)(*(code *)PTR___floatundidf_003f9900)()" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR___floatundidf_003f9900)()" (parenthesized_expression "(*(code *)PTR___floatundidf_003f9900)" ( (pointer_expression "*(code *)PTR___floatundidf_003f9900" * (cast_expression "(code *)PTR___floatundidf_003f9900" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar2,dVar8)" ( identifier , number_literal , (binary_expression "PTR_LAB_003f98e0 + 0x46e0" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(q,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" ( identifier , number_literal , (binary_expression "PTR_s_Curve_Dimensions_003f98ec + 0x318c" identifier + number_literal) ))) ;) (expression_statement "dVar9 = (double)(*(code *)PTR_strtod_003fa7ac)(p,0);" (assignment_expression "dVar9 = (double)(*(code *)PTR_strtod_003fa7ac)(p,0)" identifier = (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(p,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_strtod_003fa7ac)(p,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" ( (pointer_expression "*(code *)PTR_strtod_003fa7ac" * (cast_expression "(code *)PTR_strtod_003fa7ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p,0)" ( identifier , number_literal ))))) ;) (expression_statement "dVar10 = (double)(*(code *)PTR_strtod_003fa7ac)(q,0);" (assignment_expression "dVar10 = (double)(*(code *)PTR_strtod_003fa7ac)(q,0)" identifier = (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(q,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_strtod_003fa7ac)(q,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" ( (pointer_expression "*(code *)PTR_strtod_003fa7ac" * (cast_expression "(code *)PTR_strtod_003fa7ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(q,0)" ( identifier , number_literal ))))) ;) (if_statement "if (dVar9 == dVar10) {\n    if (format == (char *)0x0) {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar6 = 0;\n    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }\n    if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }\n  }" if (parenthesized_expression "(dVar9 == dVar10)" ( (binary_expression "dVar9 == dVar10" identifier == identifier) )) (compound_statement "{\n    if (format == (char *)0x0) {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }" { (if_statement "if (format == (char *)0x0) {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" if (parenthesized_expression "(format == (char *)0x0)" ( (binary_expression "format == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }" { (expression_statement "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);" (assignment_expression "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" ( (field_expression "size._4_4_" identifier . field_identifier) , (field_expression "size._0_4_" identifier . field_identifier) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4" identifier + number_literal) )))) ;) }) (else_clause "else {\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" else (compound_statement "{\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" { (expression_statement "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);" (assignment_expression "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" ( (field_expression "size._4_4_" identifier . field_identifier) , (field_expression "size._0_4_" identifier . field_identifier) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n    iVar6 = 0;\n    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }\n    if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }\n  }" else (compound_statement "{\n    iVar6 = 0;\n    if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }\n    if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if ((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)) {\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }" if (parenthesized_expression "((dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0))" ( (binary_expression "(dVar11 <= dVar8) && (*(int *)(puVar7 + 4) != 0)" (parenthesized_expression "(dVar11 <= dVar8)" ( (binary_expression "dVar11 <= dVar8" identifier <= identifier) )) && (parenthesized_expression "(*(int *)(puVar7 + 4) != 0)" ( (binary_expression "*(int *)(puVar7 + 4) != 0" (pointer_expression "*(int *)(puVar7 + 4)" * (cast_expression "(int *)(puVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 4)" ( (binary_expression "puVar7 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      iVar6 = 0;\n      piVar3 = (int *)(puVar7 + 8);\n      do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);\n    }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "piVar3 = (int *)(puVar7 + 8);" (assignment_expression "piVar3 = (int *)(puVar7 + 8)" identifier = (cast_expression "(int *)(puVar7 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 8)" ( (binary_expression "puVar7 + 8" identifier + number_literal) )))) ;) (do_statement "do {\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      } while (iVar5 != 0);" do (compound_statement "{\n        dVar8 = dVar8 / dVar11;\n        iVar6 = iVar6 + 1;\n        if (dVar8 < dVar11) break;\n        iVar5 = *piVar3;\n        piVar3 = piVar3 + 1;\n      }" { (expression_statement "dVar8 = dVar8 / dVar11;" (assignment_expression "dVar8 = dVar8 / dVar11" identifier = (binary_expression "dVar8 / dVar11" identifier / identifier)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (dVar8 < dVar11) break;" if (parenthesized_expression "(dVar8 < dVar11)" ( (binary_expression "dVar8 < dVar11" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = *piVar3;" (assignment_expression "iVar5 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) })) (if_statement "if (format == (char *)0x0) {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }\n    else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }" if (parenthesized_expression "(format == (char *)0x0)" ( (binary_expression "format == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));\n    }" { (expression_statement "uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4));" (assignment_expression "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4))" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4))" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4))" ( (field_expression "size._4_4_" identifier . field_identifier) , (field_expression "size._0_4_" identifier . field_identifier) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)(puVar7 + iVar6 * 4)" * (cast_expression "(undefined4 *)(puVar7 + iVar6 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar6 * 4)" ( (binary_expression "puVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) )))) ;) }) (else_clause "else {\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }" else (compound_statement "{\n      uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);\n    }" { (expression_statement "uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar2 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format);" (assignment_expression "sVar4 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(size._4_4_,size._0_4_,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,\n                         uVar2,dVar8,*(undefined4 *)(puVar7 + iVar6 * 4),format)" ( (field_expression "size._4_4_" identifier . field_identifier) , (field_expression "size._0_4_" identifier . field_identifier) , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)(puVar7 + iVar6 * 4)" * (cast_expression "(undefined4 *)(puVar7 + iVar6 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + iVar6 * 4)" ( (binary_expression "puVar7 + iVar6 * 4" identifier + (binary_expression "iVar6 * 4" identifier * number_literal)) )))) , identifier )))) ;) }))) }))) (if_statement "if (iVar1 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar7 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar1 = (**(code **)(puVar7 + 0x2141b4))();\n    if (iVar1 == 0) {\n      sVar4 = 0;\n    }\n    else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }\n    return sVar4;\n  }" if (parenthesized_expression "(iVar1 != *(int *)PTR___stack_chk_guard_003fa248)" ( (binary_expression "iVar1 != *(int *)PTR___stack_chk_guard_003fa248" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    puVar7 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar1 = (**(code **)(puVar7 + 0x2141b4))();\n    if (iVar1 == 0) {\n      sVar4 = 0;\n    }\n    else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }\n    return sVar4;\n  }" { (expression_statement "puVar7 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar7 = PTR___stack_chk_fail_003fa07c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" * (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = (**(code **)(puVar7 + 0x2141b4))();" (assignment_expression "iVar1 = (**(code **)(puVar7 + 0x2141b4))()" identifier = (call_expression "(**(code **)(puVar7 + 0x2141b4))()" (parenthesized_expression "(**(code **)(puVar7 + 0x2141b4))" ( (pointer_expression "**(code **)(puVar7 + 0x2141b4)" * (pointer_expression "*(code **)(puVar7 + 0x2141b4)" * (cast_expression "(code **)(puVar7 + 0x2141b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x2141b4)" ( (binary_expression "puVar7 + 0x2141b4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n      sVar4 = 0;\n    }\n    else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      sVar4 = 0;\n    }" { (expression_statement "sVar4 = 0;" (assignment_expression "sVar4 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }" else (compound_statement "{\n      sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);\n    }" { (expression_statement "sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1);" (assignment_expression "sVar4 = (**(code **)(puVar7 + 0x213ae8))(iVar1)" identifier = (call_expression "(**(code **)(puVar7 + 0x213ae8))(iVar1)" (parenthesized_expression "(**(code **)(puVar7 + 0x213ae8))" ( (pointer_expression "**(code **)(puVar7 + 0x213ae8)" * (pointer_expression "*(code **)(puVar7 + 0x213ae8)" * (cast_expression "(code **)(puVar7 + 0x213ae8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0x213ae8)" ( (binary_expression "puVar7 + 0x213ae8" identifier + number_literal) ))))) )) (argument_list "(iVar1)" ( identifier )))) ;) }))) (return_statement "return sVar4;" return identifier ;) })) (return_statement "return sVar4;" return identifier ;) })))
(translation_unit "undefined4\nFormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}\n\n" (function_definition "undefined4\nFormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "undefined1 auStack_2034 [4096];" type_identifier (array_declarator "auStack_2034 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_1034 [4096];" type_identifier (array_declarator "auStack_1034 [4096]" identifier [ number_literal ]) ;) (declaration "int local_34;" primitive_type identifier ;) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_003fa248" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }" { (expression_statement "dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);" (assignment_expression "dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80)" identifier = (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x1a80)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x1a80)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + 0x1a80)" ( (binary_expression "PTR_UINT_003f98e4 + 0x1a80" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_DAT_003f98cc + -0x6938;" (assignment_expression "puVar5 = PTR_DAT_003f98cc + -0x6938" identifier = (binary_expression "PTR_DAT_003f98cc + -0x6938" identifier + number_literal)) ;) }) (else_clause "else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" else (compound_statement "{\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" { (expression_statement "dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);" (assignment_expression "dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98)" identifier = (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe98)" * (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe98)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe98)" ( (binary_expression "PTR_UINT_003f98e4 + -0xe98" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = PTR_DAT_003f98cc + -0x6960;" (assignment_expression "puVar5 = PTR_DAT_003f98cc + -0x6960" identifier = (binary_expression "PTR_DAT_003f98cc + -0x6960" identifier + number_literal)) ;) }))) (expression_statement "dVar6 = (double)(*(code *)PTR_FUN_003f9900)();" (assignment_expression "dVar6 = (double)(*(code *)PTR_FUN_003f9900)()" identifier = (cast_expression "(double)(*(code *)PTR_FUN_003f9900)()" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_FUN_003f9900)()" (parenthesized_expression "(*(code *)PTR_FUN_003f9900)" ( (pointer_expression "*(code *)PTR_FUN_003f9900" * (cast_expression "(code *)PTR_FUN_003f9900" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6)" ( identifier , number_literal , (binary_expression "PTR_LAB_003f98e0 + 0x46e0" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" ( identifier , number_literal , (binary_expression "PTR_s_Curve_Dimensions_003f98ec + 0x318c" identifier + number_literal) ))) ;) (expression_statement "dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);" (assignment_expression "dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" identifier = (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" ( (pointer_expression "*(code *)PTR_strtod_003fa7ac" * (cast_expression "(code *)PTR_strtod_003fa7ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_2034,0)" ( identifier , number_literal ))))) ;) (expression_statement "dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);" (assignment_expression "dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" identifier = (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" ( (type_descriptor "double" primitive_type) ) (call_expression "(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" ( (pointer_expression "*(code *)PTR_strtod_003fa7ac" * (cast_expression "(code *)PTR_strtod_003fa7ac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_1034,0)" ( identifier , number_literal ))))) ;) (if_statement "if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" if (parenthesized_expression "(dVar7 == dVar8)" ( (binary_expression "dVar7 == dVar8" identifier == identifier) )) (compound_statement "{\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }" { (if_statement "if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }" { (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4" identifier + number_literal) )))) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" { (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac" identifier + number_literal) )))) ;) }))) }) (else_clause "else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" else (compound_statement "{\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (if_statement "if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }" if (parenthesized_expression "((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0))" ( (binary_expression "(dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)" (parenthesized_expression "(dVar9 <= dVar6)" ( (binary_expression "dVar9 <= dVar6" identifier <= identifier) )) && (parenthesized_expression "(*(int *)(puVar5 + 4) != 0)" ( (binary_expression "*(int *)(puVar5 + 4) != 0" (pointer_expression "*(int *)(puVar5 + 4)" * (cast_expression "(int *)(puVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 4)" ( (binary_expression "puVar5 + 4" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "piVar2 = (int *)(puVar5 + 8);" (assignment_expression "piVar2 = (int *)(puVar5 + 8)" identifier = (cast_expression "(int *)(puVar5 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 8)" ( (binary_expression "puVar5 + 8" identifier + number_literal) )))) ;) (do_statement "do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);" do (compound_statement "{\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      }" { (expression_statement "dVar6 = dVar6 / dVar9;" (assignment_expression "dVar6 = dVar6 / dVar9" identifier = (binary_expression "dVar6 / dVar9" identifier / identifier)) ;) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" identifier = (binary_expression "iVar3 + 1" identifier + number_literal)) ;) (if_statement "if (dVar6 < dVar9) break;" if (parenthesized_expression "(dVar6 < dVar9)" ( (binary_expression "dVar6 < dVar9" identifier < identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" identifier = (binary_expression "piVar2 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (if_statement "if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }" { (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)(puVar5 + iVar3 * 4)" * (cast_expression "(undefined4 *)(puVar5 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + iVar3 * 4)" ( (binary_expression "puVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) )))) ;) }) (else_clause "else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" else (compound_statement "{\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" { (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" identifier = (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" ( (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" * (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" identifier = (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" ( (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" * (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" ( identifier , identifier , (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0" identifier + number_literal) , identifier , identifier , (pointer_expression "*(undefined4 *)(puVar5 + iVar3 * 4)" * (cast_expression "(undefined4 *)(puVar5 + iVar3 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + iVar3 * 4)" ( (binary_expression "puVar5 + iVar3 * 4" identifier + (binary_expression "iVar3 * 4" identifier * number_literal)) )))) , identifier )))) ;) }))) }))) (if_statement "if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }" if (parenthesized_expression "(local_34 != *(int *)PTR___stack_chk_guard_003fa248)" ( (binary_expression "local_34 != *(int *)PTR___stack_chk_guard_003fa248" identifier != (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" * (cast_expression "(int *)PTR___stack_chk_guard_003fa248" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }" { (expression_statement "puVar5 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar5 = PTR___stack_chk_fail_003fa07c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" * (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar3 = (**(code **)(puVar5 + 0x2141b4))();" (assignment_expression "iVar3 = (**(code **)(puVar5 + 0x2141b4))()" identifier = (call_expression "(**(code **)(puVar5 + 0x2141b4))()" (parenthesized_expression "(**(code **)(puVar5 + 0x2141b4))" ( (pointer_expression "**(code **)(puVar5 + 0x2141b4)" * (pointer_expression "*(code **)(puVar5 + 0x2141b4)" * (cast_expression "(code **)(puVar5 + 0x2141b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x2141b4)" ( (binary_expression "puVar5 + 0x2141b4" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar1 = 0;\n    }" { (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" else (compound_statement "{\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" { (expression_statement "uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);" (assignment_expression "uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3)" identifier = (call_expression "(**(code **)(puVar5 + 0x213ae8))(iVar3)" (parenthesized_expression "(**(code **)(puVar5 + 0x213ae8))" ( (pointer_expression "**(code **)(puVar5 + 0x213ae8)" * (pointer_expression "*(code **)(puVar5 + 0x213ae8)" * (cast_expression "(code **)(puVar5 + 0x213ae8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar5 + 0x213ae8)" ( (binary_expression "puVar5 + 0x213ae8" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier )))) ;) }))) (return_statement "return uVar1;" return identifier ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT / IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , IDENT )))) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "undefined4\nFormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)\n\n{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}" (type_identifier "undefined4") (function_declarator "FormatMagickSize(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)" (identifier "FormatMagickSize") (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,\n                undefined4 param_6)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int *piVar2;\n  int iVar3;\n  int iVar4;\n  undefined *puVar5;\n  double dVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  undefined1 auStack_2034 [4096];\n  undefined1 auStack_1034 [4096];\n  int local_34;\n  \n  local_34 = *(int *)PTR___stack_chk_guard_003fa248;\n  if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }\n  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();\n  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);\n  (*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);\n  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);\n  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);\n  if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }\n  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }\n  return uVar1;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "double dVar6;" (primitive_type "double") (identifier "dVar6") (; ";")) (declaration "double dVar7;" (primitive_type "double") (identifier "dVar7") (; ";")) (declaration "double dVar8;" (primitive_type "double") (identifier "dVar8") (; ";")) (declaration "double dVar9;" (primitive_type "double") (identifier "dVar9") (; ";")) (declaration "undefined1 auStack_2034 [4096];" (type_identifier "undefined1") (array_declarator "auStack_2034 [4096]" (identifier "auStack_2034") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 auStack_1034 [4096];" (type_identifier "undefined1") (array_declarator "auStack_1034 [4096]" (identifier "auStack_1034") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (expression_statement "local_34 = *(int *)PTR___stack_chk_guard_003fa248;" (assignment_expression "local_34 = *(int *)PTR___stack_chk_guard_003fa248" (identifier "local_34") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003fa248" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003fa248")))) (; ";")) (if_statement "if (param_3 == 0) {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }\n  else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);\n    puVar5 = PTR_DAT_003f98cc + -0x6938;\n  }" ({ "{") (expression_statement "dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);" (assignment_expression "dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80)" (identifier "dVar9") (= "=") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + 0x1a80)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + 0x1a80)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + 0x1a80)" (( "(") (binary_expression "PTR_UINT_003f98e4 + 0x1a80" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "0x1a80")) () ")"))))) (; ";")) (expression_statement "puVar5 = PTR_DAT_003f98cc + -0x6938;" (assignment_expression "puVar5 = PTR_DAT_003f98cc + -0x6938" (identifier "puVar5") (= "=") (binary_expression "PTR_DAT_003f98cc + -0x6938" (identifier "PTR_DAT_003f98cc") (+ "+") (number_literal "-0x6938"))) (; ";")) (} "}")) (else_clause "else {\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" (else "else") (compound_statement "{\n    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);\n    puVar5 = PTR_DAT_003f98cc + -0x6960;\n  }" ({ "{") (expression_statement "dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);" (assignment_expression "dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98)" (identifier "dVar9") (= "=") (pointer_expression "*(double *)(PTR_UINT_003f98e4 + -0xe98)" (* "*") (cast_expression "(double *)(PTR_UINT_003f98e4 + -0xe98)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_003f98e4 + -0xe98)" (( "(") (binary_expression "PTR_UINT_003f98e4 + -0xe98" (identifier "PTR_UINT_003f98e4") (+ "+") (number_literal "-0xe98")) () ")"))))) (; ";")) (expression_statement "puVar5 = PTR_DAT_003f98cc + -0x6960;" (assignment_expression "puVar5 = PTR_DAT_003f98cc + -0x6960" (identifier "puVar5") (= "=") (binary_expression "PTR_DAT_003f98cc + -0x6960" (identifier "PTR_DAT_003f98cc") (+ "+") (number_literal "-0x6960"))) (; ";")) (} "}")))) (expression_statement "dVar6 = (double)(*(code *)PTR_FUN_003f9900)();" (assignment_expression "dVar6 = (double)(*(code *)PTR_FUN_003f9900)()" (identifier "dVar6") (= "=") (cast_expression "(double)(*(code *)PTR_FUN_003f9900)()" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_FUN_003f9900)()" (parenthesized_expression "(*(code *)PTR_FUN_003f9900)" (( "(") (pointer_expression "*(code *)PTR_FUN_003f9900" (* "*") (cast_expression "(code *)PTR_FUN_003f9900" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FUN_003f9900"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" (( "(") (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" (* "*") (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickPrecision_003fa944"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003f9d94"))) () ")")) (argument_list "(auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6)" (( "(") (identifier "auStack_2034") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_LAB_003f98e0 + 0x46e0" (identifier "PTR_LAB_003f98e0") (+ "+") (number_literal "0x46e0")) (, ",") (identifier "uVar1") (, ",") (identifier "dVar6") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);" (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003f9d94"))) () ")")) (argument_list "(auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c)" (( "(") (identifier "auStack_1034") (, ",") (number_literal "0x1000") (, ",") (binary_expression "PTR_s_Curve_Dimensions_003f98ec + 0x318c" (identifier "PTR_s_Curve_Dimensions_003f98ec") (+ "+") (number_literal "0x318c")) () ")"))) (; ";")) (expression_statement "dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);" (assignment_expression "dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" (identifier "dVar7") (= "=") (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" (( "(") (pointer_expression "*(code *)PTR_strtod_003fa7ac" (* "*") (cast_expression "(code *)PTR_strtod_003fa7ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtod_003fa7ac"))) () ")")) (argument_list "(auStack_2034,0)" (( "(") (identifier "auStack_2034") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);" (assignment_expression "dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" (identifier "dVar8") (= "=") (cast_expression "(double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0)" (parenthesized_expression "(*(code *)PTR_strtod_003fa7ac)" (( "(") (pointer_expression "*(code *)PTR_strtod_003fa7ac" (* "*") (cast_expression "(code *)PTR_strtod_003fa7ac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strtod_003fa7ac"))) () ")")) (argument_list "(auStack_1034,0)" (( "(") (identifier "auStack_1034") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (dVar7 == dVar8) {\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }\n  else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" (if "if") (parenthesized_expression "(dVar7 == dVar8)" (( "(") (binary_expression "dVar7 == dVar8" (identifier "dVar7") (== "==") (identifier "dVar8")) () ")")) (compound_statement "{\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }\n  }" ({ "{") (if_statement "if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }\n    else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);\n    }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003f9d94"))) () ")")) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4)" (( "(") (identifier "param_6") (, ",") (identifier "param_5") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "0x3a4")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" (else "else") (compound_statement "{\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);\n    }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003f9d94"))) () ")")) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac)" (( "(") (identifier "param_6") (, ",") (identifier "param_5") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "0x3ac")) () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" (else "else") (compound_statement "{\n    iVar3 = 0;\n    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }\n    if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }\n  }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }" (if "if") (parenthesized_expression "((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0))" (( "(") (binary_expression "(dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)" (parenthesized_expression "(dVar9 <= dVar6)" (( "(") (binary_expression "dVar9 <= dVar6" (identifier "dVar9") (<= "<=") (identifier "dVar6")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar5 + 4) != 0)" (( "(") (binary_expression "*(int *)(puVar5 + 4) != 0" (pointer_expression "*(int *)(puVar5 + 4)" (* "*") (cast_expression "(int *)(puVar5 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 4)" (( "(") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      iVar3 = 0;\n      piVar2 = (int *)(puVar5 + 8);\n      do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);\n    }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2 = (int *)(puVar5 + 8);" (assignment_expression "piVar2 = (int *)(puVar5 + 8)" (identifier "piVar2") (= "=") (cast_expression "(int *)(puVar5 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 8)" (( "(") (binary_expression "puVar5 + 8" (identifier "puVar5") (+ "+") (number_literal "8")) () ")")))) (; ";")) (do_statement "do {\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      } while (iVar4 != 0);" (do "do") (compound_statement "{\n        dVar6 = dVar6 / dVar9;\n        iVar3 = iVar3 + 1;\n        if (dVar6 < dVar9) break;\n        iVar4 = *piVar2;\n        piVar2 = piVar2 + 1;\n      }" ({ "{") (expression_statement "dVar6 = dVar6 / dVar9;" (assignment_expression "dVar6 = dVar6 / dVar9" (identifier "dVar6") (= "=") (binary_expression "dVar6 / dVar9" (identifier "dVar6") (/ "/") (identifier "dVar9"))) (; ";")) (expression_statement "iVar3 = iVar3 + 1;" (assignment_expression "iVar3 = iVar3 + 1" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 1" (identifier "iVar3") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (dVar6 < dVar9) break;" (if "if") (parenthesized_expression "(dVar6 < dVar9)" (( "(") (binary_expression "dVar6 < dVar9" (identifier "dVar6") (< "<") (identifier "dVar9")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = *piVar2;" (assignment_expression "iVar4 = *piVar2" (identifier "iVar4") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "piVar2 = piVar2 + 1;" (assignment_expression "piVar2 = piVar2 + 1" (identifier "piVar2") (= "=") (binary_expression "piVar2 + 1" (identifier "piVar2") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (if_statement "if (param_4 == 0) {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }\n    else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));\n    }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" (( "(") (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" (* "*") (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickPrecision_003fa944"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003f9d94"))) () ")")) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4))" (( "(") (identifier "param_6") (, ",") (identifier "param_5") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "0x3b8")) (, ",") (identifier "uVar1") (, ",") (identifier "dVar6") (, ",") (pointer_expression "*(undefined4 *)(puVar5 + iVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(puVar5 + iVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + iVar3 * 4)" (( "(") (binary_expression "puVar5 + iVar3 * 4" (identifier "puVar5") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" (else "else") (compound_statement "{\n      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();\n      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);\n    }" ({ "{") (expression_statement "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();" (assignment_expression "uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)()" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_GetMagickPrecision_003fa944)()" (parenthesized_expression "(*(code *)PTR_GetMagickPrecision_003fa944)" (( "(") (pointer_expression "*(code *)PTR_GetMagickPrecision_003fa944" (* "*") (cast_expression "(code *)PTR_GetMagickPrecision_003fa944" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetMagickPrecision_003fa944"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);" (assignment_expression "uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_FormatLocaleString_003f9d94)\n                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" (parenthesized_expression "(*(code *)PTR_FormatLocaleString_003f9d94)" (( "(") (pointer_expression "*(code *)PTR_FormatLocaleString_003f9d94" (* "*") (cast_expression "(code *)PTR_FormatLocaleString_003f9d94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_FormatLocaleString_003f9d94"))) () ")")) (argument_list "(param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,\n                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4)" (( "(") (identifier "param_6") (, ",") (identifier "param_5") (, ",") (binary_expression "PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0" (identifier "PTR_s_irtualMetacontentFromStream_003f98f8") (+ "+") (number_literal "0x3c0")) (, ",") (identifier "uVar1") (, ",") (identifier "dVar6") (, ",") (pointer_expression "*(undefined4 *)(puVar5 + iVar3 * 4)" (* "*") (cast_expression "(undefined4 *)(puVar5 + iVar3 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + iVar3 * 4)" (( "(") (binary_expression "puVar5 + iVar3 * 4" (identifier "puVar5") (+ "+") (binary_expression "iVar3 * 4" (identifier "iVar3") (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "param_4") () ")")))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(local_34 != *(int *)PTR___stack_chk_guard_003fa248)" (( "(") (binary_expression "local_34 != *(int *)PTR___stack_chk_guard_003fa248" (identifier "local_34") (!= "!=") (pointer_expression "*(int *)PTR___stack_chk_guard_003fa248" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_003fa248" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_003fa248")))) () ")")) (compound_statement "{\n    puVar5 = PTR___stack_chk_fail_003fa07c;\n    (*(code *)PTR___stack_chk_fail_003fa07c)();\n    iVar3 = (**(code **)(puVar5 + 0x2141b4))();\n    if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }\n    return uVar1;\n  }" ({ "{") (expression_statement "puVar5 = PTR___stack_chk_fail_003fa07c;" (assignment_expression "puVar5 = PTR___stack_chk_fail_003fa07c" (identifier "puVar5") (= "=") (identifier "PTR___stack_chk_fail_003fa07c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_003fa07c)();" (call_expression "(*(code *)PTR___stack_chk_fail_003fa07c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_003fa07c)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_003fa07c" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_003fa07c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_003fa07c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar5 + 0x2141b4))();" (assignment_expression "iVar3 = (**(code **)(puVar5 + 0x2141b4))()" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar5 + 0x2141b4))()" (parenthesized_expression "(**(code **)(puVar5 + 0x2141b4))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x2141b4)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x2141b4)" (* "*") (cast_expression "(code **)(puVar5 + 0x2141b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x2141b4)" (( "(") (binary_expression "puVar5 + 0x2141b4" (identifier "puVar5") (+ "+") (number_literal "0x2141b4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n      uVar1 = 0;\n    }\n    else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar1 = 0;\n    }" ({ "{") (expression_statement "uVar1 = 0;" (assignment_expression "uVar1 = 0" (identifier "uVar1") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" (else "else") (compound_statement "{\n      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);\n    }" ({ "{") (expression_statement "uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);" (assignment_expression "uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3)" (identifier "uVar1") (= "=") (call_expression "(**(code **)(puVar5 + 0x213ae8))(iVar3)" (parenthesized_expression "(**(code **)(puVar5 + 0x213ae8))" (( "(") (pointer_expression "**(code **)(puVar5 + 0x213ae8)" (* "*") (pointer_expression "*(code **)(puVar5 + 0x213ae8)" (* "*") (cast_expression "(code **)(puVar5 + 0x213ae8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar5 + 0x213ae8)" (( "(") (binary_expression "puVar5 + 0x213ae8" (identifier "puVar5") (+ "+") (number_literal "0x213ae8")) () ")"))))) () ")")) (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (} "}")))) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (identifier))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))))) (return_statement (identifier)))) (return_statement (identifier)))))

undefined4
MASKED(undefined4 param_1,undefined4 param_2,int param_3,int param_4,undefined4 param_5,
                undefined4 param_6)

{
  undefined4 uVar1;
  int *piVar2;
  int iVar3;
  int iVar4;
  undefined *puVar5;
  double dVar6;
  double dVar7;
  double dVar8;
  double dVar9;
  undefined1 auStack_2034 [4096];
  undefined1 auStack_1034 [4096];
  int local_34;
  
  local_34 = *(int *)PTR___stack_chk_guard_003fa248;
  if (param_3 == 0) {
    dVar9 = *(double *)(PTR_UINT_003f98e4 + 0x1a80);
    puVar5 = PTR_DAT_003f98cc + -0x6938;
  }
  else {
    dVar9 = *(double *)(PTR_UINT_003f98e4 + -0xe98);
    puVar5 = PTR_DAT_003f98cc + -0x6960;
  }
  dVar6 = (double)(*(code *)PTR_FUN_003f9900)();
  uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();
  (*(code *)PTR_FormatLocaleString_003f9d94)
            (auStack_2034,0x1000,PTR_LAB_003f98e0 + 0x46e0,uVar1,dVar6);
  (*(code *)PTR_FormatLocaleString_003f9d94)
            (auStack_1034,0x1000,PTR_s_Curve_Dimensions_003f98ec + 0x318c);
  dVar7 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_2034,0);
  dVar8 = (double)(*(code *)PTR_strtod_003fa7ac)(auStack_1034,0);
  if (dVar7 == dVar8) {
    if (param_4 == 0) {
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3a4);
    }
    else {
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3ac);
    }
  }
  else {
    iVar3 = 0;
    if ((dVar9 <= dVar6) && (*(int *)(puVar5 + 4) != 0)) {
      iVar3 = 0;
      piVar2 = (int *)(puVar5 + 8);
      do {
        dVar6 = dVar6 / dVar9;
        iVar3 = iVar3 + 1;
        if (dVar6 < dVar9) break;
        iVar4 = *piVar2;
        piVar2 = piVar2 + 1;
      } while (iVar4 != 0);
    }
    if (param_4 == 0) {
      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3b8,uVar1,
                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4));
    }
    else {
      uVar1 = (*(code *)PTR_GetMagickPrecision_003fa944)();
      uVar1 = (*(code *)PTR_FormatLocaleString_003f9d94)
                        (param_6,param_5,PTR_s_irtualMetacontentFromStream_003f98f8 + 0x3c0,uVar1,
                         dVar6,*(undefined4 *)(puVar5 + iVar3 * 4),param_4);
    }
  }
  if (local_34 != *(int *)PTR___stack_chk_guard_003fa248) {
    puVar5 = PTR___stack_chk_fail_003fa07c;
    (*(code *)PTR___stack_chk_fail_003fa07c)();
    iVar3 = (**(code **)(puVar5 + 0x2141b4))();
    if (iVar3 == 0) {
      uVar1 = 0;
    }
    else {
      uVar1 = (**(code **)(puVar5 + 0x213ae8))(iVar3);
    }
    return uVar1;
  }
  return uVar1;
}

