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

MagickBooleanType GetMagickSeekableStream(MagickInfo *magick_info)

{
  undefined *puVar1;
  double *pdVar2;
  undefined *puVar3;
  int iVar4;
  double *pdVar5;
  undefined4 uVar6;
  MagickBooleanType MVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  undefined *puVar12;
  code *pcVar13;
  code *pcVar14;
  double dVar15;
  double dVar16;
  double dStackY_a8;
  
  if (magick_info == (MagickInfo *)0x0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,
               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,
               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);
  }
  else if (magick_info->signature == 0xabacadab) {
    return (magick_info->flags << 0x19) >> 0x1f;
  }
  uVar6 = 0x7e;
  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;
  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;
  puVar12 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  if (puVar1 != (undefined *)0x0) {
    iVar8 = *(int *)(puVar12 + 0x31b998);
    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {
      pcVar13 = *(code **)(puVar12 + 0x31c6b8);
      if (puVar3 != (undefined *)0x0) {
        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {
          if (*(int *)(puVar3 + 0x3350) == 0) {
            iVar8 = *(int *)(puVar12 + 0x31b998);
            iVar10 = *(int *)(puVar12 + 0x31b998);
          }
          else {
            iVar10 = *(int *)(puVar12 + 0x31b998);
            iVar8 = *(int *)(puVar12 + 0x31b998);
            (**(code **)(puVar12 + 0x31c290))
                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,
                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);
          }
          (**(code **)(puVar12 + 0x31bfd0))
                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,
                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,
                     puVar3 + 0x340);
          return MagickFalse;
        }
        pcVar13 = *(code **)(puVar12 + 0x31c6b8);
        iVar8 = iVar8 + 8000;
        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,
                   0x3f52,iVar8);
      }
      iVar8 = iVar8 + 8000;
      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,
                 iVar8);
    }
    (**(code **)(puVar12 + 0x31c6b8))
              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,
               iVar8 + 8000);
  }
  iVar10 = 0x3f4f;
  pcVar13 = *(code **)(puVar12 + 0x31c6b8);
  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;
  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;
  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);
  if (iVar8 == 0) {
    (**(code **)(pcVar13 + 0x31c53c))
              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,
               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);
  }
  else {
    iVar4 = *(int *)(pcVar13 + 0x31b81c);
    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;
    if (iVar10 != 0) {
      iVar11 = *(int *)(pcVar13 + 0x31b81c);
      iVar4 = *(int *)(pcVar13 + 0x31b81c);
      (**(code **)(pcVar13 + 0x31c114))
                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac
                 ,iVar10);
      (**(code **)(pcVar13 + 0x31be54))
                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,
                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,
                 iVar8 + 0x2210);
      return MagickFalse;
    }
  }
  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;
  (**(code **)(pcVar13 + 0x31c53c))
            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,
             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);
LAB_0008d1f8:
  pcVar14 = *(code **)(pcVar13 + 0x31c53c);
  pdVar5 = (double *)(iVar4 + 0x1ec0);
  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);
  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);
  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];
  if (0.0 <= dVar15) {
    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);
    dStackY_a8 = dVar15;
  }
  else {
    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);
    dStackY_a8 = -dVar15;
  }
  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {
    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);
  }
  else {
    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;
  }
  *pdVar5 = pdVar2[4] * dVar15;
  pdVar5[1] = -pdVar2[1] * dVar15;
  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;
  MVar7 = *(MagickBooleanType *)(pdVar2 + 3);
  pdVar5[3] = -pdVar2[3] * dVar15;
  pdVar5[4] = *pdVar2 * dVar15;
  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;
  return MVar7 ^ 0x80000000;
}



uint GetMagickSeekableStream(int param_1)

{
  undefined *puVar1;
  double *pdVar2;
  undefined *puVar3;
  int iVar4;
  double *pdVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  undefined *puVar12;
  code *pcVar13;
  code *pcVar14;
  double dVar15;
  double dVar16;
  double dStackY_a8;
  
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,
               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,
               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);
  }
  else if (*(int *)(param_1 + 0x34) == -0x54535255) {
    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;
  }
  uVar6 = 0x7e;
  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;
  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;
  puVar12 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  if (puVar1 != (undefined *)0x0) {
    iVar8 = *(int *)(puVar12 + 0x31b998);
    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {
      pcVar13 = *(code **)(puVar12 + 0x31c6b8);
      if (puVar3 != (undefined *)0x0) {
        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {
          if (*(int *)(puVar3 + 0x3350) == 0) {
            iVar8 = *(int *)(puVar12 + 0x31b998);
            iVar10 = *(int *)(puVar12 + 0x31b998);
          }
          else {
            iVar10 = *(int *)(puVar12 + 0x31b998);
            iVar8 = *(int *)(puVar12 + 0x31b998);
            (**(code **)(puVar12 + 0x31c290))
                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,
                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);
          }
          (**(code **)(puVar12 + 0x31bfd0))
                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,
                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,
                     puVar3 + 0x340);
          return 0;
        }
        pcVar13 = *(code **)(puVar12 + 0x31c6b8);
        iVar8 = iVar8 + 8000;
        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,
                   0x3f52,iVar8);
      }
      iVar8 = iVar8 + 8000;
      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,
                 iVar8);
    }
    (**(code **)(puVar12 + 0x31c6b8))
              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,
               iVar8 + 8000);
  }
  iVar10 = 0x3f4f;
  pcVar13 = *(code **)(puVar12 + 0x31c6b8);
  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;
  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;
  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);
  if (iVar8 == 0) {
    (**(code **)(pcVar13 + 0x31c53c))
              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,
               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);
  }
  else {
    iVar4 = *(int *)(pcVar13 + 0x31b81c);
    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;
    if (iVar10 != 0) {
      iVar11 = *(int *)(pcVar13 + 0x31b81c);
      iVar4 = *(int *)(pcVar13 + 0x31b81c);
      (**(code **)(pcVar13 + 0x31c114))
                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac
                 ,iVar10);
      (**(code **)(pcVar13 + 0x31be54))
                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,
                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,
                 iVar8 + 0x2210);
      return 0;
    }
  }
  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;
  (**(code **)(pcVar13 + 0x31c53c))
            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,
             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);
LAB_0008d1f8:
  pcVar14 = *(code **)(pcVar13 + 0x31c53c);
  pdVar5 = (double *)(iVar4 + 0x1ec0);
  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);
  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);
  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];
  if (0.0 <= dVar15) {
    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);
    dStackY_a8 = dVar15;
  }
  else {
    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);
    dStackY_a8 = -dVar15;
  }
  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {
    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);
  }
  else {
    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;
  }
  *pdVar5 = pdVar2[4] * dVar15;
  pdVar5[1] = -pdVar2[1] * dVar15;
  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;
  uVar7 = *(uint *)(pdVar2 + 3);
  pdVar5[3] = -pdVar2[3] * dVar15;
  pdVar5[4] = *pdVar2 * dVar15;
  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;
  return uVar7 ^ 0x80000000;
}


lui gp,0x32
addiu gp,gp,0x39f0
addu gp,gp,t9
addiu sp,sp,-0x20
sw gp,0x10(sp)
sw ra,0x1c(sp)
beq a0,zero,0x0008cf00
_lui v0,0xabac
lw v1,0x34(a0)
ori v0,v0,0xadab
bne v1,v0,0x0008cf24
_lw ra,0x1c(sp)
lw v0,0x2c(a0)
addiu sp,sp,0x20
jr ra
_ext v0,v0,0x6,0x1
lw a3,-0x7fc8(gp)
li a2,0x7d
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x1ea0
addiu a1,a1,0x1e28
jalr t9
_addiu a0,a0,0x1e40
lw a3,-0x7fc8(gp)
li a2,0x7e
lw a1,-0x7fc8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x1ea0
addiu a1,a1,0x1e28
jalr t9
_addiu a0,a0,0x1e64
nop
nop
(translation_unit "uint GetMagickSeekableStream(int param_1)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}\n\n" (function_definition "uint GetMagickSeekableStream(int param_1)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}" type_identifier (function_declarator "GetMagickSeekableStream(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "double *pdVar2;" primitive_type (pointer_declarator "*pdVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double *pdVar5;" primitive_type (pointer_declarator "*pdVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "double dStackY_a8;" primitive_type identifier ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" else (if_statement "if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x34) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x34) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" { (return_statement "return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;" return (binary_expression "(uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(param_1 + 0x2c) << 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x2c) << 0x19)" ( (binary_expression "*(int *)(param_1 + 0x2c) << 0x19" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) ;) })))) (expression_statement "uVar6 = 0x7e;" (assignment_expression "uVar6 = 0x7e" identifier = number_literal) ;) (expression_statement "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;" (assignment_expression "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier + number_literal)) ;) (expression_statement "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;" (assignment_expression "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" identifier + number_literal)) ;) (expression_statement "puVar12 = PTR___assert_fail_003a9608;" (assignment_expression "puVar12 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" if (parenthesized_expression "(puVar1 != (undefined *)0x0)" ( (binary_expression "puVar1 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" { (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" if (parenthesized_expression "(*(int *)(puVar1 + 0x3214) == -0x54535255)" ( (binary_expression "*(int *)(puVar1 + 0x3214) == -0x54535255" (pointer_expression "*(int *)(puVar1 + 0x3214)" * (cast_expression "(int *)(puVar1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x3214)" ( (binary_expression "puVar1 + 0x3214" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" { (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" { (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }" if (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" * (cast_expression "(int *)(puVar3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x336c)" ( (binary_expression "puVar3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }" { (if_statement "if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" if (parenthesized_expression "(*(int *)(puVar3 + 0x3350) == 0)" ( (binary_expression "*(int *)(puVar3 + 0x3350) == 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" * (cast_expression "(int *)(puVar3 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x3350)" ( (binary_expression "puVar3 + 0x3350" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }" { (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" else (compound_statement "{\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" { (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c290))" ( (pointer_expression "**(code **)(puVar12 + 0x31c290)" * (pointer_expression "*(code **)(puVar12 + 0x31c290)" * (cast_expression "(code **)(puVar12 + 0x31c290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c290)" ( (binary_expression "puVar12 + 0x31c290" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" ( number_literal , (binary_expression "iVar8 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar10 + 0x1f30" identifier + number_literal) , number_literal , (binary_expression "*(int *)(puVar12 + 0x31b994) + -0x62ac" (pointer_expression "*(int *)(puVar12 + 0x31b994)" * (cast_expression "(int *)(puVar12 + 0x31b994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b994)" ( (binary_expression "puVar12 + 0x31b994" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) }))) (expression_statement "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31bfd0))" ( (pointer_expression "**(code **)(puVar12 + 0x31bfd0)" * (pointer_expression "*(code **)(puVar12 + 0x31bfd0)" * (cast_expression "(code **)(puVar12 + 0x31bfd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31bfd0)" ( (binary_expression "puVar12 + 0x31bfd0" identifier + number_literal) ))))) )) (argument_list "(uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" ( identifier , (binary_expression "iVar8 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar10 + 0x1f30" identifier + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdf4" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xde8" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" identifier = (binary_expression "iVar8 + 8000" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" ( (binary_expression "*(int *)(puVar12 + 0x31b998) + -0x3784" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" identifier = (binary_expression "iVar8 + 8000" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" ( (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdd0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);" (call_expression "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c6b8))" ( (pointer_expression "**(code **)(puVar12 + 0x31c6b8)" * (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" ( (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xda0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 8000" identifier + number_literal) ))) ;) })) (expression_statement "iVar10 = 0x3f4f;" (assignment_expression "iVar10 = 0x3f4f" identifier = number_literal) ;) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;" (assignment_expression "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000" identifier = (binary_expression "*(int *)(puVar12 + 0x31b998) + 8000" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78" identifier = (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xd78" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);" (call_expression "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" ( identifier , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }" { (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" * (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xd78" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" else (compound_statement "{\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" { (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;" if (parenthesized_expression "(*(int *)(iVar8 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(iVar8 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar8 + 0x3214)" * (cast_expression "(int *)(iVar8 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3214)" ( (binary_expression "iVar8 + 0x3214" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0008d1f8;" goto statement_identifier ;)) (if_statement "if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }" { (expression_statement "iVar11 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar11 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);" (call_expression "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c114))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c114)" * (pointer_expression "*(code **)(pcVar13 + 0x31c114)" * (cast_expression "(code **)(pcVar13 + 0x31c114)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c114)" ( (binary_expression "pcVar13 + 0x31c114" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" ( number_literal , (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar11 + 0x1f00" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b818) + -0x62ac" (pointer_expression "*(int *)(pcVar13 + 0x31b818)" * (cast_expression "(int *)(pcVar13 + 0x31b818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b818)" ( (binary_expression "pcVar13 + 0x31b818" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);" (call_expression "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31be54))" ( (pointer_expression "**(code **)(pcVar13 + 0x31be54)" * (pointer_expression "*(code **)(pcVar13 + 0x31be54)" * (cast_expression "(code **)(pcVar13 + 0x31be54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31be54)" ( (binary_expression "pcVar13 + 0x31be54" identifier + number_literal) ))))) )) (argument_list "(iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" ( identifier , (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar11 + 0x1f00" identifier + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xdf4" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xde8" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar8 + 0x2210" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0" identifier = (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" * (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ed8" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);" statement_identifier : (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x31c53c);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x31c53c)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) ;)) (expression_statement "pdVar5 = (double *)(iVar4 + 0x1ec0);" (assignment_expression "pdVar5 = (double *)(iVar4 + 0x1ec0)" identifier = (cast_expression "(double *)(iVar4 + 0x1ec0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ec0)" ( (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) )))) ;) (expression_statement "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);" (assignment_expression "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" identifier = (cast_expression "(double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x31b814) + 0xda0)" ( (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xda0" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];" (assignment_expression "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" identifier = (binary_expression "pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" (binary_expression "pdVar2[4] * *pdVar2" (subscript_expression "pdVar2[4]" identifier [ number_literal ]) * (pointer_expression "*pdVar2" * identifier)) - (binary_expression "pdVar2[1] * pdVar2[3]" (subscript_expression "pdVar2[1]" identifier [ number_literal ]) * (subscript_expression "pdVar2[3]" identifier [ number_literal ])))) ;) (if_statement "if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" if (parenthesized_expression "(0.0 <= dVar15)" ( (binary_expression "0.0 <= dVar15" number_literal <= identifier) )) (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }" { (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dStackY_a8 = dVar15;" (assignment_expression "dStackY_a8 = dVar15" identifier = identifier) ;) }) (else_clause "else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" else (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" { (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1a78" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dStackY_a8 = -dVar15;" (assignment_expression "dStackY_a8 = -dVar15" identifier = (unary_expression "-dVar15" - identifier)) ;) }))) (if_statement "if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" if (parenthesized_expression "(dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8))" ( (binary_expression "dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }" { (expression_statement "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);" (assignment_expression "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier = (binary_expression "dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier / (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" else (compound_statement "{\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" { (expression_statement "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;" (assignment_expression "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" identifier = (binary_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;) }))) (expression_statement "*pdVar5 = pdVar2[4] * dVar15;" (assignment_expression "*pdVar5 = pdVar2[4] * dVar15" (pointer_expression "*pdVar5" * identifier) = (binary_expression "pdVar2[4] * dVar15" (subscript_expression "pdVar2[4]" identifier [ number_literal ]) * identifier)) ;) (expression_statement "pdVar5[1] = -pdVar2[1] * dVar15;" (assignment_expression "pdVar5[1] = -pdVar2[1] * dVar15" (subscript_expression "pdVar5[1]" identifier [ number_literal ]) = (binary_expression "-pdVar2[1] * dVar15" (unary_expression "-pdVar2[1]" - (subscript_expression "pdVar2[1]" identifier [ number_literal ])) * identifier)) ;) (expression_statement "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;" (assignment_expression "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (subscript_expression "pdVar5[2]" identifier [ number_literal ]) = (binary_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (parenthesized_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4])" ( (binary_expression "pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]" (binary_expression "pdVar2[1] * pdVar2[5]" (subscript_expression "pdVar2[1]" identifier [ number_literal ]) * (subscript_expression "pdVar2[5]" identifier [ number_literal ])) - (binary_expression "pdVar2[2] * pdVar2[4]" (subscript_expression "pdVar2[2]" identifier [ number_literal ]) * (subscript_expression "pdVar2[4]" identifier [ number_literal ]))) )) * identifier)) ;) (expression_statement "uVar7 = *(uint *)(pdVar2 + 3);" (assignment_expression "uVar7 = *(uint *)(pdVar2 + 3)" identifier = (pointer_expression "*(uint *)(pdVar2 + 3)" * (cast_expression "(uint *)(pdVar2 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar2 + 3)" ( (binary_expression "pdVar2 + 3" identifier + number_literal) ))))) ;) (expression_statement "pdVar5[3] = -pdVar2[3] * dVar15;" (assignment_expression "pdVar5[3] = -pdVar2[3] * dVar15" (subscript_expression "pdVar5[3]" identifier [ number_literal ]) = (binary_expression "-pdVar2[3] * dVar15" (unary_expression "-pdVar2[3]" - (subscript_expression "pdVar2[3]" identifier [ number_literal ])) * identifier)) ;) (expression_statement "pdVar5[4] = *pdVar2 * dVar15;" (assignment_expression "pdVar5[4] = *pdVar2 * dVar15" (subscript_expression "pdVar5[4]" identifier [ number_literal ]) = (binary_expression "*pdVar2 * dVar15" (pointer_expression "*pdVar2" * identifier) * identifier)) ;) (expression_statement "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;" (assignment_expression "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (subscript_expression "pdVar5[5]" identifier [ number_literal ]) = (binary_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (parenthesized_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5])" ( (binary_expression "pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]" (binary_expression "pdVar2[2] * pdVar2[3]" (subscript_expression "pdVar2[2]" identifier [ number_literal ]) * (subscript_expression "pdVar2[3]" identifier [ number_literal ])) - (binary_expression "*pdVar2 * pdVar2[5]" (pointer_expression "*pdVar2" * identifier) * (subscript_expression "pdVar2[5]" identifier [ number_literal ]))) )) * identifier)) ;) (return_statement "return uVar7 ^ 0x80000000;" return (binary_expression "uVar7 ^ 0x80000000" identifier ^ number_literal) ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nMagickBooleanType GetMagickSeekableStream(MagickInfo *magick_info)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  MagickBooleanType MVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (magick_info == (MagickInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (magick_info->signature == 0xabacadab) {\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  MVar7 = *(MagickBooleanType *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return MVar7 ^ 0x80000000;\n}\n\n" comment comment comment comment comment (function_definition "MagickBooleanType GetMagickSeekableStream(MagickInfo *magick_info)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  MagickBooleanType MVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (magick_info == (MagickInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (magick_info->signature == 0xabacadab) {\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  MVar7 = *(MagickBooleanType *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return MVar7 ^ 0x80000000;\n}" type_identifier (function_declarator "GetMagickSeekableStream(MagickInfo *magick_info)" identifier (parameter_list "(MagickInfo *magick_info)" ( (parameter_declaration "MagickInfo *magick_info" type_identifier (pointer_declarator "*magick_info" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  MagickBooleanType MVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (magick_info == (MagickInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (magick_info->signature == 0xabacadab) {\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  MVar7 = *(MagickBooleanType *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return MVar7 ^ 0x80000000;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "double *pdVar2;" primitive_type (pointer_declarator "*pdVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double *pdVar5;" primitive_type (pointer_declarator "*pdVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "MagickBooleanType MVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "double dStackY_a8;" primitive_type identifier ;) (if_statement "if (magick_info == (MagickInfo *)0x0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (magick_info->signature == 0xabacadab) {\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }" if (parenthesized_expression "(magick_info == (MagickInfo *)0x0)" ( (binary_expression "magick_info == (MagickInfo *)0x0" identifier == (cast_expression "(MagickInfo *)0x0" ( (type_descriptor "MagickInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0" identifier + number_literal) ))) ;) }) (else_clause "else if (magick_info->signature == 0xabacadab) {\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }" else (if_statement "if (magick_info->signature == 0xabacadab) {\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }" if (parenthesized_expression "(magick_info->signature == 0xabacadab)" ( (binary_expression "magick_info->signature == 0xabacadab" (field_expression "magick_info->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    return (magick_info->flags << 0x19) >> 0x1f;\n  }" { (return_statement "return (magick_info->flags << 0x19) >> 0x1f;" return (binary_expression "(magick_info->flags << 0x19) >> 0x1f" (parenthesized_expression "(magick_info->flags << 0x19)" ( (binary_expression "magick_info->flags << 0x19" (field_expression "magick_info->flags" identifier -> field_identifier) << number_literal) )) >> number_literal) ;) })))) (expression_statement "uVar6 = 0x7e;" (assignment_expression "uVar6 = 0x7e" identifier = number_literal) ;) (expression_statement "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;" (assignment_expression "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier + number_literal)) ;) (expression_statement "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;" (assignment_expression "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" identifier + number_literal)) ;) (expression_statement "puVar12 = PTR___assert_fail_003a9608;" (assignment_expression "puVar12 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" if (parenthesized_expression "(puVar1 != (undefined *)0x0)" ( (binary_expression "puVar1 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" { (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" if (parenthesized_expression "(*(int *)(puVar1 + 0x3214) == -0x54535255)" ( (binary_expression "*(int *)(puVar1 + 0x3214) == -0x54535255" (pointer_expression "*(int *)(puVar1 + 0x3214)" * (cast_expression "(int *)(puVar1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x3214)" ( (binary_expression "puVar1 + 0x3214" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" { (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" { (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }" if (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" * (cast_expression "(int *)(puVar3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x336c)" ( (binary_expression "puVar3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return MagickFalse;\n        }" { (if_statement "if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" if (parenthesized_expression "(*(int *)(puVar3 + 0x3350) == 0)" ( (binary_expression "*(int *)(puVar3 + 0x3350) == 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" * (cast_expression "(int *)(puVar3 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x3350)" ( (binary_expression "puVar3 + 0x3350" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }" { (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" else (compound_statement "{\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" { (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c290))" ( (pointer_expression "**(code **)(puVar12 + 0x31c290)" * (pointer_expression "*(code **)(puVar12 + 0x31c290)" * (cast_expression "(code **)(puVar12 + 0x31c290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c290)" ( (binary_expression "puVar12 + 0x31c290" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" ( number_literal , (binary_expression "iVar8 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar10 + 0x1f30" identifier + number_literal) , number_literal , (binary_expression "*(int *)(puVar12 + 0x31b994) + -0x62ac" (pointer_expression "*(int *)(puVar12 + 0x31b994)" * (cast_expression "(int *)(puVar12 + 0x31b994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b994)" ( (binary_expression "puVar12 + 0x31b994" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) }))) (expression_statement "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31bfd0))" ( (pointer_expression "**(code **)(puVar12 + 0x31bfd0)" * (pointer_expression "*(code **)(puVar12 + 0x31bfd0)" * (cast_expression "(code **)(puVar12 + 0x31bfd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31bfd0)" ( (binary_expression "puVar12 + 0x31bfd0" identifier + number_literal) ))))) )) (argument_list "(uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" ( identifier , (binary_expression "iVar8 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar10 + 0x1f30" identifier + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdf4" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xde8" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) (return_statement "return MagickFalse;" return identifier ;) })) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" identifier = (binary_expression "iVar8 + 8000" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" ( (binary_expression "*(int *)(puVar12 + 0x31b998) + -0x3784" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" identifier = (binary_expression "iVar8 + 8000" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" ( (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdd0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);" (call_expression "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c6b8))" ( (pointer_expression "**(code **)(puVar12 + 0x31c6b8)" * (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" ( (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xda0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 8000" identifier + number_literal) ))) ;) })) (expression_statement "iVar10 = 0x3f4f;" (assignment_expression "iVar10 = 0x3f4f" identifier = number_literal) ;) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;" (assignment_expression "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000" identifier = (binary_expression "*(int *)(puVar12 + 0x31b998) + 8000" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78" identifier = (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xd78" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);" (call_expression "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" ( identifier , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }" { (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" * (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xd78" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }\n  }" else (compound_statement "{\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }\n  }" { (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;" if (parenthesized_expression "(*(int *)(iVar8 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(iVar8 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar8 + 0x3214)" * (cast_expression "(int *)(iVar8 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3214)" ( (binary_expression "iVar8 + 0x3214" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0008d1f8;" goto statement_identifier ;)) (if_statement "if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return MagickFalse;\n    }" { (expression_statement "iVar11 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar11 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);" (call_expression "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c114))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c114)" * (pointer_expression "*(code **)(pcVar13 + 0x31c114)" * (cast_expression "(code **)(pcVar13 + 0x31c114)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c114)" ( (binary_expression "pcVar13 + 0x31c114" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" ( number_literal , (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar11 + 0x1f00" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b818) + -0x62ac" (pointer_expression "*(int *)(pcVar13 + 0x31b818)" * (cast_expression "(int *)(pcVar13 + 0x31b818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b818)" ( (binary_expression "pcVar13 + 0x31b818" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);" (call_expression "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31be54))" ( (pointer_expression "**(code **)(pcVar13 + 0x31be54)" * (pointer_expression "*(code **)(pcVar13 + 0x31be54)" * (cast_expression "(code **)(pcVar13 + 0x31be54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31be54)" ( (binary_expression "pcVar13 + 0x31be54" identifier + number_literal) ))))) )) (argument_list "(iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" ( identifier , (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar11 + 0x1f00" identifier + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xdf4" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xde8" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar8 + 0x2210" identifier + number_literal) ))) ;) (return_statement "return MagickFalse;" return identifier ;) })) }))) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0" identifier = (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" * (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ed8" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);" statement_identifier : (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x31c53c);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x31c53c)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) ;)) (expression_statement "pdVar5 = (double *)(iVar4 + 0x1ec0);" (assignment_expression "pdVar5 = (double *)(iVar4 + 0x1ec0)" identifier = (cast_expression "(double *)(iVar4 + 0x1ec0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ec0)" ( (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) )))) ;) (expression_statement "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);" (assignment_expression "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" identifier = (cast_expression "(double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x31b814) + 0xda0)" ( (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xda0" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];" (assignment_expression "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" identifier = (binary_expression "pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" (binary_expression "pdVar2[4] * *pdVar2" (subscript_expression "pdVar2[4]" identifier [ number_literal ]) * (pointer_expression "*pdVar2" * identifier)) - (binary_expression "pdVar2[1] * pdVar2[3]" (subscript_expression "pdVar2[1]" identifier [ number_literal ]) * (subscript_expression "pdVar2[3]" identifier [ number_literal ])))) ;) (if_statement "if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" if (parenthesized_expression "(0.0 <= dVar15)" ( (binary_expression "0.0 <= dVar15" number_literal <= identifier) )) (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }" { (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dStackY_a8 = dVar15;" (assignment_expression "dStackY_a8 = dVar15" identifier = identifier) ;) }) (else_clause "else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" else (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" { (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1a78" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dStackY_a8 = -dVar15;" (assignment_expression "dStackY_a8 = -dVar15" identifier = (unary_expression "-dVar15" - identifier)) ;) }))) (if_statement "if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" if (parenthesized_expression "(dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8))" ( (binary_expression "dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }" { (expression_statement "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);" (assignment_expression "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier = (binary_expression "dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier / (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" else (compound_statement "{\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" { (expression_statement "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;" (assignment_expression "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" identifier = (binary_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;) }))) (expression_statement "*pdVar5 = pdVar2[4] * dVar15;" (assignment_expression "*pdVar5 = pdVar2[4] * dVar15" (pointer_expression "*pdVar5" * identifier) = (binary_expression "pdVar2[4] * dVar15" (subscript_expression "pdVar2[4]" identifier [ number_literal ]) * identifier)) ;) (expression_statement "pdVar5[1] = -pdVar2[1] * dVar15;" (assignment_expression "pdVar5[1] = -pdVar2[1] * dVar15" (subscript_expression "pdVar5[1]" identifier [ number_literal ]) = (binary_expression "-pdVar2[1] * dVar15" (unary_expression "-pdVar2[1]" - (subscript_expression "pdVar2[1]" identifier [ number_literal ])) * identifier)) ;) (expression_statement "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;" (assignment_expression "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (subscript_expression "pdVar5[2]" identifier [ number_literal ]) = (binary_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (parenthesized_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4])" ( (binary_expression "pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]" (binary_expression "pdVar2[1] * pdVar2[5]" (subscript_expression "pdVar2[1]" identifier [ number_literal ]) * (subscript_expression "pdVar2[5]" identifier [ number_literal ])) - (binary_expression "pdVar2[2] * pdVar2[4]" (subscript_expression "pdVar2[2]" identifier [ number_literal ]) * (subscript_expression "pdVar2[4]" identifier [ number_literal ]))) )) * identifier)) ;) (expression_statement "MVar7 = *(MagickBooleanType *)(pdVar2 + 3);" (assignment_expression "MVar7 = *(MagickBooleanType *)(pdVar2 + 3)" identifier = (pointer_expression "*(MagickBooleanType *)(pdVar2 + 3)" * (cast_expression "(MagickBooleanType *)(pdVar2 + 3)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar2 + 3)" ( (binary_expression "pdVar2 + 3" identifier + number_literal) ))))) ;) (expression_statement "pdVar5[3] = -pdVar2[3] * dVar15;" (assignment_expression "pdVar5[3] = -pdVar2[3] * dVar15" (subscript_expression "pdVar5[3]" identifier [ number_literal ]) = (binary_expression "-pdVar2[3] * dVar15" (unary_expression "-pdVar2[3]" - (subscript_expression "pdVar2[3]" identifier [ number_literal ])) * identifier)) ;) (expression_statement "pdVar5[4] = *pdVar2 * dVar15;" (assignment_expression "pdVar5[4] = *pdVar2 * dVar15" (subscript_expression "pdVar5[4]" identifier [ number_literal ]) = (binary_expression "*pdVar2 * dVar15" (pointer_expression "*pdVar2" * identifier) * identifier)) ;) (expression_statement "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;" (assignment_expression "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (subscript_expression "pdVar5[5]" identifier [ number_literal ]) = (binary_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (parenthesized_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5])" ( (binary_expression "pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]" (binary_expression "pdVar2[2] * pdVar2[3]" (subscript_expression "pdVar2[2]" identifier [ number_literal ]) * (subscript_expression "pdVar2[3]" identifier [ number_literal ])) - (binary_expression "*pdVar2 * pdVar2[5]" (pointer_expression "*pdVar2" * identifier) * (subscript_expression "pdVar2[5]" identifier [ number_literal ]))) )) * identifier)) ;) (return_statement "return MVar7 ^ 0x80000000;" return (binary_expression "MVar7 ^ 0x80000000" identifier ^ number_literal) ;) })))
(translation_unit "uint GetMagickSeekableStream(int param_1)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}\n\n" (function_definition "uint GetMagickSeekableStream(int param_1)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}" type_identifier (function_declarator "GetMagickSeekableStream(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "double *pdVar2;" primitive_type (pointer_declarator "*pdVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "double *pdVar5;" primitive_type (pointer_declarator "*pdVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "undefined *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "double dStackY_a8;" primitive_type identifier ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }" { (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40" identifier + number_literal) , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier + number_literal) , number_literal , (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0" identifier + number_literal) ))) ;) }) (else_clause "else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" else (if_statement "if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x34) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x34) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x34)" * (cast_expression "(int *)(param_1 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x34)" ( (binary_expression "param_1 + 0x34" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" { (return_statement "return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;" return (binary_expression "(uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(param_1 + 0x2c) << 0x19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x2c) << 0x19)" ( (binary_expression "*(int *)(param_1 + 0x2c) << 0x19" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) << number_literal) ))) >> number_literal) ;) })))) (expression_statement "uVar6 = 0x7e;" (assignment_expression "uVar6 = 0x7e" identifier = number_literal) ;) (expression_statement "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;" (assignment_expression "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" identifier + number_literal)) ;) (expression_statement "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;" (assignment_expression "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" identifier = (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" identifier + number_literal)) ;) (expression_statement "puVar12 = PTR___assert_fail_003a9608;" (assignment_expression "puVar12 = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" if (parenthesized_expression "(puVar1 != (undefined *)0x0)" ( (binary_expression "puVar1 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" { (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" if (parenthesized_expression "(*(int *)(puVar1 + 0x3214) == -0x54535255)" ( (binary_expression "*(int *)(puVar1 + 0x3214) == -0x54535255" (pointer_expression "*(int *)(puVar1 + 0x3214)" * (cast_expression "(int *)(puVar1 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 0x3214)" ( (binary_expression "puVar1 + 0x3214" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" { (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (if_statement "if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" if (parenthesized_expression "(puVar3 != (undefined *)0x0)" ( (binary_expression "puVar3 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" { (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }" if (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" ( (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" * (cast_expression "(int *)(puVar3 + 0x336c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x336c)" ( (binary_expression "puVar3 + 0x336c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }" { (if_statement "if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" if (parenthesized_expression "(*(int *)(puVar3 + 0x3350) == 0)" ( (binary_expression "*(int *)(puVar3 + 0x3350) == 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" * (cast_expression "(int *)(puVar3 + 0x3350)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 0x3350)" ( (binary_expression "puVar3 + 0x3350" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }" { (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" else (compound_statement "{\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" { (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" identifier = (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c290))" ( (pointer_expression "**(code **)(puVar12 + 0x31c290)" * (pointer_expression "*(code **)(puVar12 + 0x31c290)" * (cast_expression "(code **)(puVar12 + 0x31c290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c290)" ( (binary_expression "puVar12 + 0x31c290" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" ( number_literal , (binary_expression "iVar8 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar10 + 0x1f30" identifier + number_literal) , number_literal , (binary_expression "*(int *)(puVar12 + 0x31b994) + -0x62ac" (pointer_expression "*(int *)(puVar12 + 0x31b994)" * (cast_expression "(int *)(puVar12 + 0x31b994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b994)" ( (binary_expression "puVar12 + 0x31b994" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) }))) (expression_statement "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31bfd0))" ( (pointer_expression "**(code **)(puVar12 + 0x31bfd0)" * (pointer_expression "*(code **)(puVar12 + 0x31bfd0)" * (cast_expression "(code **)(puVar12 + 0x31bfd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31bfd0)" ( (binary_expression "puVar12 + 0x31bfd0" identifier + number_literal) ))))) )) (argument_list "(uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" ( identifier , (binary_expression "iVar8 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar10 + 0x1f30" identifier + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdf4" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xde8" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar3 + 0x340" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" identifier = (binary_expression "iVar8 + 8000" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" ( (binary_expression "*(int *)(puVar12 + 0x31b998) + -0x3784" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" identifier = (binary_expression "iVar8 + 8000" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" ( (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdd0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);" (call_expression "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c6b8))" ( (pointer_expression "**(code **)(puVar12 + 0x31c6b8)" * (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" ( (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xda0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar8 + 8000" identifier + number_literal) ))) ;) })) (expression_statement "iVar10 = 0x3f4f;" (assignment_expression "iVar10 = 0x3f4f" identifier = number_literal) ;) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" identifier = (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" * (cast_expression "(code **)(puVar12 + 0x31c6b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x31c6b8)" ( (binary_expression "puVar12 + 0x31c6b8" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;" (assignment_expression "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000" identifier = (binary_expression "*(int *)(puVar12 + 0x31b998) + 8000" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78" identifier = (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xd78" (pointer_expression "*(int *)(puVar12 + 0x31b990)" * (cast_expression "(int *)(puVar12 + 0x31b990)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b990)" ( (binary_expression "puVar12 + 0x31b990" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);" (call_expression "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" ( identifier , (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" * (cast_expression "(int *)(puVar12 + 0x31b998)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x31b998)" ( (binary_expression "puVar12 + 0x31b998" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (if_statement "if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }" { (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" * (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xd78" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" else (compound_statement "{\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" { (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;" if (parenthesized_expression "(*(int *)(iVar8 + 0x3214) != -0x54535255)" ( (binary_expression "*(int *)(iVar8 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar8 + 0x3214)" * (cast_expression "(int *)(iVar8 + 0x3214)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3214)" ( (binary_expression "iVar8 + 0x3214" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0008d1f8;" goto statement_identifier ;)) (if_statement "if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }" { (expression_statement "iVar11 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar11 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);" (call_expression "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c114))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c114)" * (pointer_expression "*(code **)(pcVar13 + 0x31c114)" * (cast_expression "(code **)(pcVar13 + 0x31c114)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c114)" ( (binary_expression "pcVar13 + 0x31c114" identifier + number_literal) ))))) )) (argument_list "(0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" ( number_literal , (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar11 + 0x1f00" identifier + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b818) + -0x62ac" (pointer_expression "*(int *)(pcVar13 + 0x31b818)" * (cast_expression "(int *)(pcVar13 + 0x31b818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b818)" ( (binary_expression "pcVar13 + 0x31b818" identifier + number_literal) )))) + number_literal) , identifier ))) ;) (expression_statement "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);" (call_expression "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31be54))" ( (pointer_expression "**(code **)(pcVar13 + 0x31be54)" * (pointer_expression "*(code **)(pcVar13 + 0x31be54)" * (cast_expression "(code **)(pcVar13 + 0x31be54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31be54)" ( (binary_expression "pcVar13 + 0x31be54" identifier + number_literal) ))))) )) (argument_list "(iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" ( identifier , (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) , (binary_expression "iVar11 + 0x1f00" identifier + number_literal) , number_literal , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xdf4" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xde8" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar8 + 0x2210" identifier + number_literal) ))) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0" identifier = (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" ( (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" * (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ed8" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) , identifier , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);" statement_identifier : (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x31c53c);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x31c53c)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" * (cast_expression "(code **)(pcVar13 + 0x31c53c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x31c53c)" ( (binary_expression "pcVar13 + 0x31c53c" identifier + number_literal) ))))) ;)) (expression_statement "pdVar5 = (double *)(iVar4 + 0x1ec0);" (assignment_expression "pdVar5 = (double *)(iVar4 + 0x1ec0)" identifier = (cast_expression "(double *)(iVar4 + 0x1ec0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x1ec0)" ( (binary_expression "iVar4 + 0x1ec0" identifier + number_literal) )))) ;) (expression_statement "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);" (assignment_expression "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" identifier = (cast_expression "(double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x31b814) + 0xda0)" ( (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xda0" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" * (cast_expression "(int *)(pcVar13 + 0x31b814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b814)" ( (binary_expression "pcVar13 + 0x31b814" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" ( identifier , identifier , number_literal , (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" * (cast_expression "(int *)(pcVar13 + 0x31b81c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x31b81c)" ( (binary_expression "pcVar13 + 0x31b81c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];" (assignment_expression "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" identifier = (binary_expression "pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" (binary_expression "pdVar2[4] * *pdVar2" (subscript_expression "pdVar2[4]" identifier [ number_literal ]) * (pointer_expression "*pdVar2" * identifier)) - (binary_expression "pdVar2[1] * pdVar2[3]" (subscript_expression "pdVar2[1]" identifier [ number_literal ]) * (subscript_expression "pdVar2[3]" identifier [ number_literal ])))) ;) (if_statement "if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" if (parenthesized_expression "(0.0 <= dVar15)" ( (binary_expression "0.0 <= dVar15" number_literal <= identifier) )) (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }" { (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dStackY_a8 = dVar15;" (assignment_expression "dStackY_a8 = dVar15" identifier = identifier) ;) }) (else_clause "else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" else (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" { (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" identifier = (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1a78" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "dStackY_a8 = -dVar15;" (assignment_expression "dStackY_a8 = -dVar15" identifier = (unary_expression "-dVar15" - identifier)) ;) }))) (if_statement "if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" if (parenthesized_expression "(dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8))" ( (binary_expression "dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier < (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) ))))) )) (compound_statement "{\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }" { (expression_statement "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);" (assignment_expression "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier = (binary_expression "dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" identifier / (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) )))))) ;) }) (else_clause "else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" else (compound_statement "{\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" { (expression_statement "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;" (assignment_expression "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" identifier = (binary_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" * (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" ( (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" * (cast_expression "(int *)(pcVar14 + 0x31b6c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x31b6c0)" ( (binary_expression "pcVar14 + 0x31b6c0" identifier + number_literal) )))) + number_literal) )))) / identifier)) ;) }))) (expression_statement "*pdVar5 = pdVar2[4] * dVar15;" (assignment_expression "*pdVar5 = pdVar2[4] * dVar15" (pointer_expression "*pdVar5" * identifier) = (binary_expression "pdVar2[4] * dVar15" (subscript_expression "pdVar2[4]" identifier [ number_literal ]) * identifier)) ;) (expression_statement "pdVar5[1] = -pdVar2[1] * dVar15;" (assignment_expression "pdVar5[1] = -pdVar2[1] * dVar15" (subscript_expression "pdVar5[1]" identifier [ number_literal ]) = (binary_expression "-pdVar2[1] * dVar15" (unary_expression "-pdVar2[1]" - (subscript_expression "pdVar2[1]" identifier [ number_literal ])) * identifier)) ;) (expression_statement "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;" (assignment_expression "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (subscript_expression "pdVar5[2]" identifier [ number_literal ]) = (binary_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (parenthesized_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4])" ( (binary_expression "pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]" (binary_expression "pdVar2[1] * pdVar2[5]" (subscript_expression "pdVar2[1]" identifier [ number_literal ]) * (subscript_expression "pdVar2[5]" identifier [ number_literal ])) - (binary_expression "pdVar2[2] * pdVar2[4]" (subscript_expression "pdVar2[2]" identifier [ number_literal ]) * (subscript_expression "pdVar2[4]" identifier [ number_literal ]))) )) * identifier)) ;) (expression_statement "uVar7 = *(uint *)(pdVar2 + 3);" (assignment_expression "uVar7 = *(uint *)(pdVar2 + 3)" identifier = (pointer_expression "*(uint *)(pdVar2 + 3)" * (cast_expression "(uint *)(pdVar2 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pdVar2 + 3)" ( (binary_expression "pdVar2 + 3" identifier + number_literal) ))))) ;) (expression_statement "pdVar5[3] = -pdVar2[3] * dVar15;" (assignment_expression "pdVar5[3] = -pdVar2[3] * dVar15" (subscript_expression "pdVar5[3]" identifier [ number_literal ]) = (binary_expression "-pdVar2[3] * dVar15" (unary_expression "-pdVar2[3]" - (subscript_expression "pdVar2[3]" identifier [ number_literal ])) * identifier)) ;) (expression_statement "pdVar5[4] = *pdVar2 * dVar15;" (assignment_expression "pdVar5[4] = *pdVar2 * dVar15" (subscript_expression "pdVar5[4]" identifier [ number_literal ]) = (binary_expression "*pdVar2 * dVar15" (pointer_expression "*pdVar2" * identifier) * identifier)) ;) (expression_statement "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;" (assignment_expression "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (subscript_expression "pdVar5[5]" identifier [ number_literal ]) = (binary_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (parenthesized_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5])" ( (binary_expression "pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]" (binary_expression "pdVar2[2] * pdVar2[3]" (subscript_expression "pdVar2[2]" identifier [ number_literal ]) * (subscript_expression "pdVar2[3]" identifier [ number_literal ])) - (binary_expression "*pdVar2 * pdVar2[5]" (pointer_expression "*pdVar2" * identifier) * (subscript_expression "pdVar2[5]" identifier [ number_literal ]))) )) * identifier)) ;) (return_statement "return uVar7 ^ 0x80000000;" return (binary_expression "uVar7 ^ 0x80000000" identifier ^ number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (return_statement return (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) >> LIT) ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) }))) (expression_statement (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 , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) })) (expression_statement (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) (expression_statement (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 , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * (pointer_expression * IDENT)) - (binary_expression (subscript_expression IDENT [ LIT ]) * (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = (binary_expression IDENT / (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) / IDENT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (subscript_expression IDENT [ LIT ]) * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression - (subscript_expression IDENT [ LIT ])) * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * (subscript_expression IDENT [ LIT ])) - (binary_expression (subscript_expression IDENT [ LIT ]) * (subscript_expression IDENT [ LIT ]))) )) * IDENT)) ;) (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 (subscript_expression IDENT [ LIT ]) = (binary_expression (unary_expression - (subscript_expression IDENT [ LIT ])) * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * IDENT) * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * (subscript_expression IDENT [ LIT ])) - (binary_expression (pointer_expression * IDENT) * (subscript_expression IDENT [ LIT ]))) )) * IDENT)) ;) (return_statement return (binary_expression IDENT ^ LIT) ;) })))
(function_definition "uint GetMagickSeekableStream(int param_1)\n\n{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}" (type_identifier "uint") (function_declarator "GetMagickSeekableStream(int param_1)" (identifier "GetMagickSeekableStream") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  double *pdVar2;\n  undefined *puVar3;\n  int iVar4;\n  double *pdVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  undefined *puVar12;\n  code *pcVar13;\n  code *pcVar14;\n  double dVar15;\n  double dVar16;\n  double dStackY_a8;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }\n  uVar6 = 0x7e;\n  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;\n  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;\n  puVar12 = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)();\n  if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }\n  iVar10 = 0x3f4f;\n  pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;\n  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;\n  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);\n  if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }\n  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;\n  (**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\nLAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);\n  pdVar5 = (double *)(iVar4 + 0x1ec0);\n  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);\n  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];\n  if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }\n  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }\n  *pdVar5 = pdVar2[4] * dVar15;\n  pdVar5[1] = -pdVar2[1] * dVar15;\n  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;\n  uVar7 = *(uint *)(pdVar2 + 3);\n  pdVar5[3] = -pdVar2[3] * dVar15;\n  pdVar5[4] = *pdVar2 * dVar15;\n  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;\n  return uVar7 ^ 0x80000000;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "double *pdVar2;" (primitive_type "double") (pointer_declarator "*pdVar2" (* "*") (identifier "pdVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "double *pdVar5;" (primitive_type "double") (pointer_declarator "*pdVar5" (* "*") (identifier "pdVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "undefined *puVar12;" (type_identifier "undefined") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "double dVar15;" (primitive_type "double") (identifier "dVar15") (; ";")) (declaration "double dVar16;" (primitive_type "double") (identifier "dVar16") (; ";")) (declaration "double dStackY_a8;" (primitive_type "double") (identifier "dStackY_a8") (; ";")) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }\n  else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,\n               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x1e40")) (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x1e28")) (, ",") (number_literal "0x7d") (, ",") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x1ea0")) () ")"))) (; ";")) (} "}")) (else_clause "else if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" (else "else") (if_statement "if (*(int *)(param_1 + 0x34) == -0x54535255) {\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x34) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x34) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x34)" (* "*") (cast_expression "(int *)(param_1 + 0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x34)" (( "(") (binary_expression "param_1 + 0x34" (identifier "param_1") (+ "+") (number_literal "0x34")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;\n  }" ({ "{") (return_statement "return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;" (return "return") (binary_expression "(uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f" (call_expression "(uint)(*(int *)(param_1 + 0x2c) << 0x19)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(param_1 + 0x2c) << 0x19)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) << 0x19" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "0x19")) () ")"))) (>> ">>") (number_literal "0x1f")) (; ";")) (} "}"))))) (expression_statement "uVar6 = 0x7e;" (assignment_expression "uVar6 = 0x7e" (identifier "uVar6") (= "=") (number_literal "0x7e")) (; ";")) (expression_statement "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;" (assignment_expression "puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" (identifier "puVar3") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x1e28"))) (; ";")) (expression_statement "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;" (assignment_expression "puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" (identifier "puVar1") (= "=") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "0x1e64"))) (; ";")) (expression_statement "puVar12 = PTR___assert_fail_003a9608;" (assignment_expression "puVar12 = PTR___assert_fail_003a9608" (identifier "puVar12") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)();" (call_expression "(*(code *)PTR___assert_fail_003a9608)()" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar1 != (undefined *)0x0) {\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" (if "if") (parenthesized_expression "(puVar1 != (undefined *)0x0)" (( "(") (binary_expression "puVar1 != (undefined *)0x0" (identifier "puVar1") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar8 = *(int *)(puVar12 + 0x31b998);\n    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }\n    (**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);\n  }" ({ "{") (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar1 + 0x3214) == -0x54535255) {\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar1 + 0x3214) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar1 + 0x3214) == -0x54535255" (pointer_expression "*(int *)(puVar1 + 0x3214)" (* "*") (cast_expression "(int *)(puVar1 + 0x3214)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 0x3214)" (( "(") (binary_expression "puVar1 + 0x3214" (identifier "puVar1") (+ "+") (number_literal "0x3214")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n      if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }\n      iVar8 = iVar8 + 8000;\n      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);\n    }" ({ "{") (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" (* "*") (cast_expression "(code **)(puVar12 + 0x31c6b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x31c6b8)" (( "(") (binary_expression "puVar12 + 0x31c6b8" (identifier "puVar12") (+ "+") (number_literal "0x31c6b8")) () ")"))))) (; ";")) (if_statement "if (puVar3 != (undefined *)0x0) {\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" (if "if") (parenthesized_expression "(puVar3 != (undefined *)0x0)" (( "(") (binary_expression "puVar3 != (undefined *)0x0" (identifier "puVar3") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }\n        pcVar13 = *(code **)(puVar12 + 0x31c6b8);\n        iVar8 = iVar8 + 8000;\n        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);\n      }" ({ "{") (if_statement "if (*(int *)(puVar3 + 0x336c) == -0x54535255) {\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar3 + 0x336c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar3 + 0x336c) == -0x54535255" (pointer_expression "*(int *)(puVar3 + 0x336c)" (* "*") (cast_expression "(int *)(puVar3 + 0x336c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x336c)" (( "(") (binary_expression "puVar3 + 0x336c" (identifier "puVar3") (+ "+") (number_literal "0x336c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n          if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }\n          (**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);\n          return 0;\n        }" ({ "{") (if_statement "if (*(int *)(puVar3 + 0x3350) == 0) {\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }\n          else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" (if "if") (parenthesized_expression "(*(int *)(puVar3 + 0x3350) == 0)" (( "(") (binary_expression "*(int *)(puVar3 + 0x3350) == 0" (pointer_expression "*(int *)(puVar3 + 0x3350)" (* "*") (cast_expression "(int *)(puVar3 + 0x3350)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 0x3350)" (( "(") (binary_expression "puVar3 + 0x3350" (identifier "puVar3") (+ "+") (number_literal "0x3350")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n          }" ({ "{") (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")"))))) (; ";")) (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" (else "else") (compound_statement "{\n            iVar10 = *(int *)(puVar12 + 0x31b998);\n            iVar8 = *(int *)(puVar12 + 0x31b998);\n            (**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);\n          }" ({ "{") (expression_statement "iVar10 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar10 = *(int *)(puVar12 + 0x31b998)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b998);" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b998)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31c290))\n                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c290))" (( "(") (pointer_expression "**(code **)(puVar12 + 0x31c290)" (* "*") (pointer_expression "*(code **)(puVar12 + 0x31c290)" (* "*") (cast_expression "(code **)(puVar12 + 0x31c290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x31c290)" (( "(") (binary_expression "puVar12 + 0x31c290" (identifier "puVar12") (+ "+") (number_literal "0x31c290")) () ")"))))) () ")")) (argument_list "(0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,\n                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "iVar8 + 0x1ec0" (identifier "iVar8") (+ "+") (number_literal "0x1ec0")) (, ",") (binary_expression "iVar10 + 0x1f30" (identifier "iVar10") (+ "+") (number_literal "0x1f30")) (, ",") (number_literal "0x3f55") (, ",") (binary_expression "*(int *)(puVar12 + 0x31b994) + -0x62ac" (pointer_expression "*(int *)(puVar12 + 0x31b994)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b994)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b994)" (( "(") (binary_expression "puVar12 + 0x31b994" (identifier "puVar12") (+ "+") (number_literal "0x31b994")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "puVar3 + 0x340" (identifier "puVar3") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}")))) (expression_statement "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340);" (call_expression "(**(code **)(puVar12 + 0x31bfd0))\n                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" (parenthesized_expression "(**(code **)(puVar12 + 0x31bfd0))" (( "(") (pointer_expression "**(code **)(puVar12 + 0x31bfd0)" (* "*") (pointer_expression "*(code **)(puVar12 + 0x31bfd0)" (* "*") (cast_expression "(code **)(puVar12 + 0x31bfd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x31bfd0)" (( "(") (binary_expression "puVar12 + 0x31bfd0" (identifier "puVar12") (+ "+") (number_literal "0x31bfd0")) () ")"))))) () ")")) (argument_list "(uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,\n                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,\n                     puVar3 + 0x340)" (( "(") (identifier "uVar6") (, ",") (binary_expression "iVar8 + 0x1ec0" (identifier "iVar8") (+ "+") (number_literal "0x1ec0")) (, ",") (binary_expression "iVar10 + 0x1f30" (identifier "iVar10") (+ "+") (number_literal "0x1f30")) (, ",") (number_literal "0x3f56") (, ",") (number_literal "0x1a4") (, ",") (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdf4" (pointer_expression "*(int *)(puVar12 + 0x31b990)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b990)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b990)" (( "(") (binary_expression "puVar12 + 0x31b990" (identifier "puVar12") (+ "+") (number_literal "0x31b990")) () ")")))) (+ "+") (number_literal "0xdf4")) (, ",") (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xde8" (pointer_expression "*(int *)(puVar12 + 0x31b990)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b990)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b990)" (( "(") (binary_expression "puVar12 + 0x31b990" (identifier "puVar12") (+ "+") (number_literal "0x31b990")) () ")")))) (+ "+") (number_literal "0xde8")) (, ",") (binary_expression "puVar3 + 0x340" (identifier "puVar3") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" (* "*") (cast_expression "(code **)(puVar12 + 0x31c6b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x31c6b8)" (( "(") (binary_expression "puVar12 + 0x31c6b8" (identifier "puVar12") (+ "+") (number_literal "0x31c6b8")) () ")"))))) (; ";")) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 8000" (identifier "iVar8") (+ "+") (number_literal "8000"))) (; ";")) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,\n                   0x3f52,iVar8)" (( "(") (binary_expression "*(int *)(puVar12 + 0x31b998) + -0x3784" (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")")))) (+ "+") (number_literal "-0x3784")) (, ",") (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")")))) (+ "+") (number_literal "0x1ec0")) (, ",") (number_literal "0x3f52") (, ",") (identifier "iVar8") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 + 8000;" (assignment_expression "iVar8 = iVar8 + 8000" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 8000" (identifier "iVar8") (+ "+") (number_literal "8000"))) (; ";")) (expression_statement "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8);" (call_expression "(*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,\n                 iVar8)" (( "(") (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xdd0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b990)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b990)" (( "(") (binary_expression "puVar12 + 0x31b990" (identifier "puVar12") (+ "+") (number_literal "0x31b990")) () ")")))) (+ "+") (number_literal "0xdd0")) (, ",") (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")")))) (+ "+") (number_literal "0x1ec0")) (, ",") (number_literal "0x3f51") (, ",") (identifier "iVar8") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000);" (call_expression "(**(code **)(puVar12 + 0x31c6b8))\n              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" (parenthesized_expression "(**(code **)(puVar12 + 0x31c6b8))" (( "(") (pointer_expression "**(code **)(puVar12 + 0x31c6b8)" (* "*") (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" (* "*") (cast_expression "(code **)(puVar12 + 0x31c6b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x31c6b8)" (( "(") (binary_expression "puVar12 + 0x31c6b8" (identifier "puVar12") (+ "+") (number_literal "0x31c6b8")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,\n               iVar8 + 8000)" (( "(") (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xda0" (pointer_expression "*(int *)(puVar12 + 0x31b990)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b990)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b990)" (( "(") (binary_expression "puVar12 + 0x31b990" (identifier "puVar12") (+ "+") (number_literal "0x31b990")) () ")")))) (+ "+") (number_literal "0xda0")) (, ",") (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")")))) (+ "+") (number_literal "0x1ec0")) (, ",") (number_literal "0x3f50") (, ",") (binary_expression "iVar8 + 8000" (identifier "iVar8") (+ "+") (number_literal "8000")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar10 = 0x3f4f;" (assignment_expression "iVar10 = 0x3f4f" (identifier "iVar10") (= "=") (number_literal "0x3f4f")) (; ";")) (expression_statement "pcVar13 = *(code **)(puVar12 + 0x31c6b8);" (assignment_expression "pcVar13 = *(code **)(puVar12 + 0x31c6b8)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(puVar12 + 0x31c6b8)" (* "*") (cast_expression "(code **)(puVar12 + 0x31c6b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x31c6b8)" (( "(") (binary_expression "puVar12 + 0x31c6b8" (identifier "puVar12") (+ "+") (number_literal "0x31c6b8")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;" (assignment_expression "iVar9 = *(int *)(puVar12 + 0x31b998) + 8000" (identifier "iVar9") (= "=") (binary_expression "*(int *)(puVar12 + 0x31b998) + 8000" (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")")))) (+ "+") (number_literal "8000"))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;" (assignment_expression "iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puVar12 + 0x31b990) + 0xd78" (pointer_expression "*(int *)(puVar12 + 0x31b990)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b990)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b990)" (( "(") (binary_expression "puVar12 + 0x31b990" (identifier "puVar12") (+ "+") (number_literal "0x31b990")) () ")")))) (+ "+") (number_literal "0xd78"))) (; ";")) (expression_statement "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);" (call_expression "(*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9)" (( "(") (identifier "iVar8") (, ",") (binary_expression "*(int *)(puVar12 + 0x31b998) + 0x1ec0" (pointer_expression "*(int *)(puVar12 + 0x31b998)" (* "*") (cast_expression "(int *)(puVar12 + 0x31b998)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x31b998)" (( "(") (binary_expression "puVar12 + 0x31b998" (identifier "puVar12") (+ "+") (number_literal "0x31b998")) () ")")))) (+ "+") (number_literal "0x1ec0")) (, ",") (number_literal "0x3f4f") (, ",") (identifier "iVar9") () ")"))) (; ";")) (if_statement "if (iVar8 == 0) {\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }\n  else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" (( "(") (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" (* "*") (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" (* "*") (cast_expression "(code **)(pcVar13 + 0x31c53c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x31c53c)" (( "(") (binary_expression "pcVar13 + 0x31c53c" (identifier "pcVar13") (+ "+") (number_literal "0x31c53c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,\n               *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (( "(") (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xd78" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b814)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b814)" (( "(") (binary_expression "pcVar13 + 0x31b814" (identifier "pcVar13") (+ "+") (number_literal "0x31b814")) () ")")))) (+ "+") (number_literal "0xd78")) (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")")))) (+ "+") (number_literal "0x1ec0")) (, ",") (number_literal "0x3f7c") (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")")))) (+ "+") (number_literal "0x1f18")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" (else "else") (compound_statement "{\n    iVar4 = *(int *)(pcVar13 + 0x31b81c);\n    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;\n    if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }\n  }" ({ "{") (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;" (if "if") (parenthesized_expression "(*(int *)(iVar8 + 0x3214) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar8 + 0x3214) != -0x54535255" (pointer_expression "*(int *)(iVar8 + 0x3214)" (* "*") (cast_expression "(int *)(iVar8 + 0x3214)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3214)" (( "(") (binary_expression "iVar8 + 0x3214" (identifier "iVar8") (+ "+") (number_literal "0x3214")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_0008d1f8;" (goto "goto") (statement_identifier "LAB_0008d1f8") (; ";"))) (if_statement "if (iVar10 != 0) {\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar11 = *(int *)(pcVar13 + 0x31b81c);\n      iVar4 = *(int *)(pcVar13 + 0x31b81c);\n      (**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);\n      (**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);\n      return 0;\n    }" ({ "{") (expression_statement "iVar11 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar11 = *(int *)(pcVar13 + 0x31b81c)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c);" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10);" (call_expression "(**(code **)(pcVar13 + 0x31c114))\n                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c114))" (( "(") (pointer_expression "**(code **)(pcVar13 + 0x31c114)" (* "*") (pointer_expression "*(code **)(pcVar13 + 0x31c114)" (* "*") (cast_expression "(code **)(pcVar13 + 0x31c114)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x31c114)" (( "(") (binary_expression "pcVar13 + 0x31c114" (identifier "pcVar13") (+ "+") (number_literal "0x31c114")) () ")"))))) () ")")) (argument_list "(0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac\n                 ,iVar10)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "iVar4 + 0x1ec0" (identifier "iVar4") (+ "+") (number_literal "0x1ec0")) (, ",") (binary_expression "iVar11 + 0x1f00" (identifier "iVar11") (+ "+") (number_literal "0x1f00")) (, ",") (number_literal "0x3f80") (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b818) + -0x62ac" (pointer_expression "*(int *)(pcVar13 + 0x31b818)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b818)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b818)" (( "(") (binary_expression "pcVar13 + 0x31b818" (identifier "pcVar13") (+ "+") (number_literal "0x31b818")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210);" (call_expression "(**(code **)(pcVar13 + 0x31be54))\n                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31be54))" (( "(") (pointer_expression "**(code **)(pcVar13 + 0x31be54)" (* "*") (pointer_expression "*(code **)(pcVar13 + 0x31be54)" (* "*") (cast_expression "(code **)(pcVar13 + 0x31be54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x31be54)" (( "(") (binary_expression "pcVar13 + 0x31be54" (identifier "pcVar13") (+ "+") (number_literal "0x31be54")) () ")"))))) () ")")) (argument_list "(iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,\n                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,\n                 iVar8 + 0x2210)" (( "(") (identifier "iVar9") (, ",") (binary_expression "iVar4 + 0x1ec0" (identifier "iVar4") (+ "+") (number_literal "0x1ec0")) (, ",") (binary_expression "iVar11 + 0x1f00" (identifier "iVar11") (+ "+") (number_literal "0x1f00")) (, ",") (number_literal "0x3f81") (, ",") (number_literal "0x1a4") (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xdf4" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b814)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b814)" (( "(") (binary_expression "pcVar13 + 0x31b814" (identifier "pcVar13") (+ "+") (number_literal "0x31b814")) () ")")))) (+ "+") (number_literal "0xdf4")) (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xde8" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b814)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b814)" (( "(") (binary_expression "pcVar13 + 0x31b814" (identifier "pcVar13") (+ "+") (number_literal "0x31b814")) () ")")))) (+ "+") (number_literal "0xde8")) (, ",") (binary_expression "iVar8 + 0x2210" (identifier "iVar8") (+ "+") (number_literal "0x2210")) () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;" (assignment_expression "iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (identifier "iVar4") (= "=") (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ec0" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")")))) (+ "+") (number_literal "0x1ec0"))) (; ";")) (expression_statement "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(**(code **)(pcVar13 + 0x31c53c))\n            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(**(code **)(pcVar13 + 0x31c53c))" (( "(") (pointer_expression "**(code **)(pcVar13 + 0x31c53c)" (* "*") (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" (* "*") (cast_expression "(code **)(pcVar13 + 0x31c53c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x31c53c)" (( "(") (binary_expression "pcVar13 + 0x31c53c" (identifier "pcVar13") (+ "+") (number_literal "0x31c53c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,\n             *(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (( "(") (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1ed8" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")")))) (+ "+") (number_literal "0x1ed8")) (, ",") (identifier "iVar4") (, ",") (number_literal "0x3f7e") (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")")))) (+ "+") (number_literal "0x1f18")) () ")"))) (; ";")) (labeled_statement "LAB_0008d1f8:\n  pcVar14 = *(code **)(pcVar13 + 0x31c53c);" (statement_identifier "LAB_0008d1f8") (: ":") (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x31c53c);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x31c53c)" (identifier "pcVar14") (= "=") (pointer_expression "*(code **)(pcVar13 + 0x31c53c)" (* "*") (cast_expression "(code **)(pcVar13 + 0x31c53c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar13 + 0x31c53c)" (( "(") (binary_expression "pcVar13 + 0x31c53c" (identifier "pcVar13") (+ "+") (number_literal "0x31c53c")) () ")"))))) (; ";"))) (expression_statement "pdVar5 = (double *)(iVar4 + 0x1ec0);" (assignment_expression "pdVar5 = (double *)(iVar4 + 0x1ec0)" (identifier "pdVar5") (= "=") (cast_expression "(double *)(iVar4 + 0x1ec0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x1ec0)" (( "(") (binary_expression "iVar4 + 0x1ec0" (identifier "iVar4") (+ "+") (number_literal "0x1ec0")) () ")")))) (; ";")) (expression_statement "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);" (assignment_expression "pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" (identifier "pdVar2") (= "=") (cast_expression "(double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar13 + 0x31b814) + 0xda0)" (( "(") (binary_expression "*(int *)(pcVar13 + 0x31b814) + 0xda0" (pointer_expression "*(int *)(pcVar13 + 0x31b814)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b814)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b814)" (( "(") (binary_expression "pcVar13 + 0x31b814" (identifier "pcVar13") (+ "+") (number_literal "0x31b814")) () ")")))) (+ "+") (number_literal "0xda0")) () ")")))) (; ";")) (expression_statement "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);" (call_expression "(*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18)" (( "(") (identifier "pdVar2") (, ",") (identifier "pdVar5") (, ",") (number_literal "0x3f7d") (, ",") (binary_expression "*(int *)(pcVar13 + 0x31b81c) + 0x1f18" (pointer_expression "*(int *)(pcVar13 + 0x31b81c)" (* "*") (cast_expression "(int *)(pcVar13 + 0x31b81c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0x31b81c)" (( "(") (binary_expression "pcVar13 + 0x31b81c" (identifier "pcVar13") (+ "+") (number_literal "0x31b81c")) () ")")))) (+ "+") (number_literal "0x1f18")) () ")"))) (; ";")) (expression_statement "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];" (assignment_expression "dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" (identifier "dVar15") (= "=") (binary_expression "pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3]" (binary_expression "pdVar2[4] * *pdVar2" (subscript_expression "pdVar2[4]" (identifier "pdVar2") ([ "[") (number_literal "4") (] "]")) (* "*") (pointer_expression "*pdVar2" (* "*") (identifier "pdVar2"))) (- "-") (binary_expression "pdVar2[1] * pdVar2[3]" (subscript_expression "pdVar2[1]" (identifier "pdVar2") ([ "[") (number_literal "1") (] "]")) (* "*") (subscript_expression "pdVar2[3]" (identifier "pdVar2") ([ "[") (number_literal "3") (] "]"))))) (; ";")) (if_statement "if (0.0 <= dVar15) {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }\n  else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" (if "if") (parenthesized_expression "(0.0 <= dVar15)" (( "(") (binary_expression "0.0 <= dVar15" (number_literal "0.0") (<= "<=") (identifier "dVar15")) () ")")) (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);\n    dStackY_a8 = dVar15;\n  }" ({ "{") (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (identifier "dVar16") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (* "*") (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" (* "*") (cast_expression "(int *)(pcVar14 + 0x31b6c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x31b6c0)" (( "(") (binary_expression "pcVar14 + 0x31b6c0" (identifier "pcVar14") (+ "+") (number_literal "0x31b6c0")) () ")")))) (+ "+") (number_literal "0x1438")) () ")"))))) (; ";")) (expression_statement "dStackY_a8 = dVar15;" (assignment_expression "dStackY_a8 = dVar15" (identifier "dStackY_a8") (= "=") (identifier "dVar15")) (; ";")) (} "}")) (else_clause "else {\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" (else "else") (compound_statement "{\n    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);\n    dStackY_a8 = -dVar15;\n  }" ({ "{") (expression_statement "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);" (assignment_expression "dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" (identifier "dVar16") (= "=") (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" (* "*") (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1a78" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" (* "*") (cast_expression "(int *)(pcVar14 + 0x31b6c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x31b6c0)" (( "(") (binary_expression "pcVar14 + 0x31b6c0" (identifier "pcVar14") (+ "+") (number_literal "0x31b6c0")) () ")")))) (+ "+") (number_literal "0x1a78")) () ")"))))) (; ";")) (expression_statement "dStackY_a8 = -dVar15;" (assignment_expression "dStackY_a8 = -dVar15" (identifier "dStackY_a8") (= "=") (unary_expression "-dVar15" (- "-") (identifier "dVar15"))) (; ";")) (} "}")))) (if_statement "if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }\n  else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" (if "if") (parenthesized_expression "(dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8))" (( "(") (binary_expression "dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (identifier "dStackY_a8") (< "<") (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" (* "*") (cast_expression "(int *)(pcVar14 + 0x31b6c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x31b6c0)" (( "(") (binary_expression "pcVar14 + 0x31b6c0" (identifier "pcVar14") (+ "+") (number_literal "0x31b6c0")) () ")")))) (+ "+") (number_literal "0x13f8")) () ")"))))) () ")")) (compound_statement "{\n    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);\n  }" ({ "{") (expression_statement "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);" (assignment_expression "dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (identifier "dVar15") (= "=") (binary_expression "dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (identifier "dVar16") (/ "/") (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (* "*") (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x13f8" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" (* "*") (cast_expression "(int *)(pcVar14 + 0x31b6c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x31b6c0)" (( "(") (binary_expression "pcVar14 + 0x31b6c0" (identifier "pcVar14") (+ "+") (number_literal "0x31b6c0")) () ")")))) (+ "+") (number_literal "0x13f8")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" (else "else") (compound_statement "{\n    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;\n  }" ({ "{") (expression_statement "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;" (assignment_expression "dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" (identifier "dVar15") (= "=") (binary_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15" (pointer_expression "*(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (* "*") (cast_expression "(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar14 + 0x31b6c0) + 0x1438)" (( "(") (binary_expression "*(int *)(pcVar14 + 0x31b6c0) + 0x1438" (pointer_expression "*(int *)(pcVar14 + 0x31b6c0)" (* "*") (cast_expression "(int *)(pcVar14 + 0x31b6c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar14 + 0x31b6c0)" (( "(") (binary_expression "pcVar14 + 0x31b6c0" (identifier "pcVar14") (+ "+") (number_literal "0x31b6c0")) () ")")))) (+ "+") (number_literal "0x1438")) () ")")))) (/ "/") (identifier "dVar15"))) (; ";")) (} "}")))) (expression_statement "*pdVar5 = pdVar2[4] * dVar15;" (assignment_expression "*pdVar5 = pdVar2[4] * dVar15" (pointer_expression "*pdVar5" (* "*") (identifier "pdVar5")) (= "=") (binary_expression "pdVar2[4] * dVar15" (subscript_expression "pdVar2[4]" (identifier "pdVar2") ([ "[") (number_literal "4") (] "]")) (* "*") (identifier "dVar15"))) (; ";")) (expression_statement "pdVar5[1] = -pdVar2[1] * dVar15;" (assignment_expression "pdVar5[1] = -pdVar2[1] * dVar15" (subscript_expression "pdVar5[1]" (identifier "pdVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "-pdVar2[1] * dVar15" (unary_expression "-pdVar2[1]" (- "-") (subscript_expression "pdVar2[1]" (identifier "pdVar2") ([ "[") (number_literal "1") (] "]"))) (* "*") (identifier "dVar15"))) (; ";")) (expression_statement "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;" (assignment_expression "pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (subscript_expression "pdVar5[2]" (identifier "pdVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15" (parenthesized_expression "(pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4])" (( "(") (binary_expression "pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]" (binary_expression "pdVar2[1] * pdVar2[5]" (subscript_expression "pdVar2[1]" (identifier "pdVar2") ([ "[") (number_literal "1") (] "]")) (* "*") (subscript_expression "pdVar2[5]" (identifier "pdVar2") ([ "[") (number_literal "5") (] "]"))) (- "-") (binary_expression "pdVar2[2] * pdVar2[4]" (subscript_expression "pdVar2[2]" (identifier "pdVar2") ([ "[") (number_literal "2") (] "]")) (* "*") (subscript_expression "pdVar2[4]" (identifier "pdVar2") ([ "[") (number_literal "4") (] "]")))) () ")")) (* "*") (identifier "dVar15"))) (; ";")) (expression_statement "uVar7 = *(uint *)(pdVar2 + 3);" (assignment_expression "uVar7 = *(uint *)(pdVar2 + 3)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(pdVar2 + 3)" (* "*") (cast_expression "(uint *)(pdVar2 + 3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pdVar2 + 3)" (( "(") (binary_expression "pdVar2 + 3" (identifier "pdVar2") (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "pdVar5[3] = -pdVar2[3] * dVar15;" (assignment_expression "pdVar5[3] = -pdVar2[3] * dVar15" (subscript_expression "pdVar5[3]" (identifier "pdVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "-pdVar2[3] * dVar15" (unary_expression "-pdVar2[3]" (- "-") (subscript_expression "pdVar2[3]" (identifier "pdVar2") ([ "[") (number_literal "3") (] "]"))) (* "*") (identifier "dVar15"))) (; ";")) (expression_statement "pdVar5[4] = *pdVar2 * dVar15;" (assignment_expression "pdVar5[4] = *pdVar2 * dVar15" (subscript_expression "pdVar5[4]" (identifier "pdVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (binary_expression "*pdVar2 * dVar15" (pointer_expression "*pdVar2" (* "*") (identifier "pdVar2")) (* "*") (identifier "dVar15"))) (; ";")) (expression_statement "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;" (assignment_expression "pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (subscript_expression "pdVar5[5]" (identifier "pdVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15" (parenthesized_expression "(pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5])" (( "(") (binary_expression "pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]" (binary_expression "pdVar2[2] * pdVar2[3]" (subscript_expression "pdVar2[2]" (identifier "pdVar2") ([ "[") (number_literal "2") (] "]")) (* "*") (subscript_expression "pdVar2[3]" (identifier "pdVar2") ([ "[") (number_literal "3") (] "]"))) (- "-") (binary_expression "*pdVar2 * pdVar2[5]" (pointer_expression "*pdVar2" (* "*") (identifier "pdVar2")) (* "*") (subscript_expression "pdVar2[5]" (identifier "pdVar2") ([ "[") (number_literal "5") (] "]")))) () ")")) (* "*") (identifier "dVar15"))) (; ";")) (return_statement "return uVar7 ^ 0x80000000;" (return "return") (binary_expression "uVar7 ^ 0x80000000" (identifier "uVar7") (^ "^") (number_literal "0x80000000")) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator 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)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (return_statement (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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)))) right: (number_literal))))))) (expression_statement (assignment_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: (binary_expression left: (identifier) right: (number_literal)))) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) 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: (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 (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (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) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)) (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)) (number_literal) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)) (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)) (number_literal) (identifier)))))) (expression_statement (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 (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)) (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (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 (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)) (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)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_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: (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 (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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))) (expression_statement (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) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))) (return_statement (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (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 (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)) (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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)))))))) (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)))))) (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: (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)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) 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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) 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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))) right: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (unary_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (unary_expression argument: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (subscript_expression argument: (identifier) index: (number_literal))))) right: (identifier)))) (return_statement (binary_expression left: (identifier) right: (number_literal))))))

uint MASKED(int param_1)

{
  undefined *puVar1;
  double *pdVar2;
  undefined *puVar3;
  int iVar4;
  double *pdVar5;
  undefined4 uVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  undefined *puVar12;
  code *pcVar13;
  code *pcVar14;
  double dVar15;
  double dVar16;
  double dStackY_a8;
  
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e40,
               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28,0x7d,
               PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1ea0);
  }
  else if (*(int *)(param_1 + 0x34) == -0x54535255) {
    return (uint)(*(int *)(param_1 + 0x2c) << 0x19) >> 0x1f;
  }
  uVar6 = 0x7e;
  puVar3 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e28;
  puVar1 = PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + 0x1e64;
  puVar12 = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)();
  if (puVar1 != (undefined *)0x0) {
    iVar8 = *(int *)(puVar12 + 0x31b998);
    if (*(int *)(puVar1 + 0x3214) == -0x54535255) {
      pcVar13 = *(code **)(puVar12 + 0x31c6b8);
      if (puVar3 != (undefined *)0x0) {
        if (*(int *)(puVar3 + 0x336c) == -0x54535255) {
          if (*(int *)(puVar3 + 0x3350) == 0) {
            iVar8 = *(int *)(puVar12 + 0x31b998);
            iVar10 = *(int *)(puVar12 + 0x31b998);
          }
          else {
            iVar10 = *(int *)(puVar12 + 0x31b998);
            iVar8 = *(int *)(puVar12 + 0x31b998);
            (**(code **)(puVar12 + 0x31c290))
                      (0x8000,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f55,
                       *(int *)(puVar12 + 0x31b994) + -0x62ac,puVar3 + 0x340);
          }
          (**(code **)(puVar12 + 0x31bfd0))
                    (uVar6,iVar8 + 0x1ec0,iVar10 + 0x1f30,0x3f56,0x1a4,
                     *(int *)(puVar12 + 0x31b990) + 0xdf4,*(int *)(puVar12 + 0x31b990) + 0xde8,
                     puVar3 + 0x340);
          return 0;
        }
        pcVar13 = *(code **)(puVar12 + 0x31c6b8);
        iVar8 = iVar8 + 8000;
        (*pcVar13)(*(int *)(puVar12 + 0x31b998) + -0x3784,*(int *)(puVar12 + 0x31b998) + 0x1ec0,
                   0x3f52,iVar8);
      }
      iVar8 = iVar8 + 8000;
      (*pcVar13)(*(int *)(puVar12 + 0x31b990) + 0xdd0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f51,
                 iVar8);
    }
    (**(code **)(puVar12 + 0x31c6b8))
              (*(int *)(puVar12 + 0x31b990) + 0xda0,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f50,
               iVar8 + 8000);
  }
  iVar10 = 0x3f4f;
  pcVar13 = *(code **)(puVar12 + 0x31c6b8);
  iVar9 = *(int *)(puVar12 + 0x31b998) + 8000;
  iVar8 = *(int *)(puVar12 + 0x31b990) + 0xd78;
  (*pcVar13)(iVar8,*(int *)(puVar12 + 0x31b998) + 0x1ec0,0x3f4f,iVar9);
  if (iVar8 == 0) {
    (**(code **)(pcVar13 + 0x31c53c))
              (*(int *)(pcVar13 + 0x31b814) + 0xd78,*(int *)(pcVar13 + 0x31b81c) + 0x1ec0,0x3f7c,
               *(int *)(pcVar13 + 0x31b81c) + 0x1f18);
  }
  else {
    iVar4 = *(int *)(pcVar13 + 0x31b81c);
    if (*(int *)(iVar8 + 0x3214) != -0x54535255) goto LAB_0008d1f8;
    if (iVar10 != 0) {
      iVar11 = *(int *)(pcVar13 + 0x31b81c);
      iVar4 = *(int *)(pcVar13 + 0x31b81c);
      (**(code **)(pcVar13 + 0x31c114))
                (0x8000,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f80,*(int *)(pcVar13 + 0x31b818) + -0x62ac
                 ,iVar10);
      (**(code **)(pcVar13 + 0x31be54))
                (iVar9,iVar4 + 0x1ec0,iVar11 + 0x1f00,0x3f81,0x1a4,
                 *(int *)(pcVar13 + 0x31b814) + 0xdf4,*(int *)(pcVar13 + 0x31b814) + 0xde8,
                 iVar8 + 0x2210);
      return 0;
    }
  }
  iVar4 = *(int *)(pcVar13 + 0x31b81c) + 0x1ec0;
  (**(code **)(pcVar13 + 0x31c53c))
            (*(int *)(pcVar13 + 0x31b81c) + 0x1ed8,iVar4,0x3f7e,
             *(int *)(pcVar13 + 0x31b81c) + 0x1f18);
LAB_0008d1f8:
  pcVar14 = *(code **)(pcVar13 + 0x31c53c);
  pdVar5 = (double *)(iVar4 + 0x1ec0);
  pdVar2 = (double *)(*(int *)(pcVar13 + 0x31b814) + 0xda0);
  (*pcVar14)(pdVar2,pdVar5,0x3f7d,*(int *)(pcVar13 + 0x31b81c) + 0x1f18);
  dVar15 = pdVar2[4] * *pdVar2 - pdVar2[1] * pdVar2[3];
  if (0.0 <= dVar15) {
    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438);
    dStackY_a8 = dVar15;
  }
  else {
    dVar16 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1a78);
    dStackY_a8 = -dVar15;
  }
  if (dStackY_a8 < *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8)) {
    dVar15 = dVar16 / *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x13f8);
  }
  else {
    dVar15 = *(double *)(*(int *)(pcVar14 + 0x31b6c0) + 0x1438) / dVar15;
  }
  *pdVar5 = pdVar2[4] * dVar15;
  pdVar5[1] = -pdVar2[1] * dVar15;
  pdVar5[2] = (pdVar2[1] * pdVar2[5] - pdVar2[2] * pdVar2[4]) * dVar15;
  uVar7 = *(uint *)(pdVar2 + 3);
  pdVar5[3] = -pdVar2[3] * dVar15;
  pdVar5[4] = *pdVar2 * dVar15;
  pdVar5[5] = (pdVar2[2] * pdVar2[3] - *pdVar2 * pdVar2[5]) * dVar15;
  return uVar7 ^ 0x80000000;
}

