
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

PixelWand ** PixelGetPreviousIteratorRow(PixelIterator *iterator,size_t *number_wands)

{
  MagickBooleanType MVar1;
  int iVar2;
  undefined4 uVar3;
  int iVar4;
  PixelWand **ppPVar5;
  size_t sVar6;
  undefined *puVar7;
  int iVar8;
  int iVar9;
  CacheView *pCVar10;
  undefined *puVar11;
  code *pcVar12;
  
  if (iterator != (PixelIterator *)0x0) {
    if (iterator->signature == 0xabacadab) {
      if (iterator->debug != MagickFalse) {
        (*(code *)PTR_LogMagickEvent_0014f488)
                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,
                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,
                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);
      }
      MVar1 = iterator->active;
      *number_wands = 0;
      if (MVar1 != MagickFalse) {
        iterator->y = iterator->y + -1;
      }
      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);
      if (iVar2 != 0) {
        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)
                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,
                           (iterator->region).width,1,iterator->exception);
        if (iVar2 != 0) {
          sVar6 = (iterator->region).width;
          if (0 < (int)sVar6) {
            pCVar10 = iterator->view;
            iVar4 = 0;
            do {
              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);
              iVar9 = iVar4 + 1;
              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])
              ;
              pCVar10 = iterator->view;
              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);
              sVar6 = (iterator->region).width;
              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;
              iVar4 = iVar9;
            } while (iVar9 < (int)sVar6);
          }
          ppPVar5 = iterator->pixel_wands;
          *number_wands = sVar6;
          return ppPVar5;
        }
      }
      return (PixelWand **)0x0;
    }
    (*(code *)PTR___assert_fail_0014f720)
              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,
               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,
               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);
  }
  puVar7 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;
  puVar11 = PTR___assert_fail_0014f720;
  (*(code *)PTR___assert_fail_0014f720)
            (puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,
             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);
  if (puVar7 != (undefined *)0x0) {
    if (*(int *)(puVar7 + 0x102c) == -0x54535255) {
      if (*(int *)(puVar7 + 0x1028) != 0) {
        (**(code **)(puVar11 + 0x4c914))
                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8
                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);
      }
      *(undefined4 *)(puVar7 + 0x101c) = 0;
      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);
      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);
    }
    (**(code **)(puVar11 + 0x4cbac))
              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,
               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);
  }
  pcVar12 = *(code **)(puVar11 + 0x4cbac);
  iVar2 = *(int *)(puVar11 + 0x4c4bc) + 0x355c;
  (*pcVar12)(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0);
  if (iVar2 != 0) {
    if (*(int *)(iVar2 + 0x102c) != -0x54535255) {
      ppPVar5 = (PixelWand **)
                (**(code **)(pcVar12 + 0x4cad4))
                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8
                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);
      return ppPVar5;
    }
    if (*(int *)(iVar2 + 0x1028) != 0) {
      (**(code **)(pcVar12 + 0x4c83c))
                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,
                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);
    }
    iVar4 = (**(code **)(pcVar12 + 0x4c920))
                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,
                       *(undefined4 *)(&DAT_00001004 + iVar2));
    if (iVar4 != 0) {
      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))
                        (*(undefined4 *)(&DAT_00001008 + iVar2),
                         *(undefined4 *)(&DAT_00001014 + iVar2),
                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),
                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));
      if (iVar4 != 0) {
        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);
        if (0 < *(int *)(iVar2 + 0x100c)) {
          iVar9 = 0;
          do {
            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);
            iVar8 = iVar9 * 4;
            iVar9 = iVar9 + 1;
            (**(code **)(pcVar12 + 0x4c88c))
                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);
            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);
            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);
            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;
          } while (iVar9 < *(int *)(iVar2 + 0x100c));
        }
        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));
        return (PixelWand **)(uint)(iVar2 != 0);
      }
    }
    return (PixelWand **)0x0;
  }
  ppPVar5 = (PixelWand **)
            (**(code **)(pcVar12 + 0x4cad4))
                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,
                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);
  return ppPVar5;
}



uint PixelGetPreviousIteratorRow(int param_1,int *param_2)

{
  int iVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 uVar7;
  undefined *puVar8;
  code *pcVar9;
  
  if (param_1 != 0) {
    if (*(int *)(param_1 + 0x102c) == -0x54535255) {
      if (*(int *)(param_1 + 0x1028) != 0) {
        (*(code *)PTR_LogMagickEvent_0014f488)
                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,
                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,
                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);
      }
      iVar1 = *(int *)(param_1 + 0x101c);
      *param_2 = 0;
      if (iVar1 != 0) {
        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;
      }
      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);
      if (iVar1 != 0) {
        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)
                          (*(undefined4 *)(&DAT_00001008 + param_1),
                           *(undefined4 *)(&DAT_00001014 + param_1),
                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),
                           *(undefined4 *)(param_1 + 0x100c),1,
                           *(undefined4 *)(&DAT_00001004 + param_1));
        if (iVar1 != 0) {
          iVar4 = *(int *)(param_1 + 0x100c);
          iVar6 = 0;
          if (0 < iVar4) {
            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);
            do {
              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);
              iVar4 = iVar6 * 4;
              iVar6 = iVar6 + 1;
              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)
                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));
              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);
              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);
              iVar4 = *(int *)(param_1 + 0x100c);
              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;
            } while (iVar6 < iVar4);
          }
          uVar3 = *(uint *)(param_1 + 0x1024);
          *param_2 = iVar4;
          return uVar3;
        }
      }
      return 0;
    }
    (*(code *)PTR___assert_fail_0014f720)
              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,
               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,
               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);
  }
  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;
  puVar8 = PTR___assert_fail_0014f720;
  (*(code *)PTR___assert_fail_0014f720)
            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,
             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);
  if (puVar5 != (undefined *)0x0) {
    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {
      if (*(int *)(puVar5 + 0x1028) != 0) {
        (**(code **)(puVar8 + 0x4c914))
                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,
                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);
      }
      *(undefined4 *)(puVar5 + 0x101c) = 0;
      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;
      return *(int *)(puVar5 + 0x1010) - 1U;
    }
    (**(code **)(puVar8 + 0x4cbac))
              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,
               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);
  }
  pcVar9 = *(code **)(puVar8 + 0x4cbac);
  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;
  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);
  if (iVar1 != 0) {
    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {
      uVar3 = (**(code **)(pcVar9 + 0x4cad4))
                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,
                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);
      return uVar3;
    }
    if (*(int *)(iVar1 + 0x1028) != 0) {
      (**(code **)(pcVar9 + 0x4c83c))
                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,
                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);
    }
    iVar4 = (**(code **)(pcVar9 + 0x4c920))
                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,
                       *(undefined4 *)(&DAT_00001004 + iVar1));
    if (iVar4 != 0) {
      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))
                        (*(undefined4 *)(&DAT_00001008 + iVar1),
                         *(undefined4 *)(&DAT_00001014 + iVar1),
                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),
                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));
      if (iVar4 != 0) {
        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);
        if (0 < *(int *)(iVar1 + 0x100c)) {
          iVar6 = 0;
          do {
            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);
            iVar2 = iVar6 * 4;
            iVar6 = iVar6 + 1;
            (**(code **)(pcVar9 + 0x4c88c))
                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);
            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);
            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);
            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;
          } while (iVar6 < *(int *)(iVar1 + 0x100c));
        }
        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));
        return (uint)(iVar1 != 0);
      }
    }
    return 0;
  }
  uVar3 = (**(code **)(pcVar9 + 0x4cad4))
                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,
                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);
  return uVar3;
}


lui gp,0x5
addiu gp,gp,0x4688
addu gp,gp,t9
addiu sp,sp,-0x38
sw gp,0x18(sp)
sw ra,0x34(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
beq a0,zero,0x00102b50
_sw s0,0x20(sp)
lui v0,0xabac
lw v1,0x102c(a0)
ori v0,v0,0xadab
bne v1,v0,0x00102b2c
_or s0,a0,zero
lw v0,0x1028(a0)
bne v0,zero,0x00102acc
_or s4,a1,zero
lw v0,0x101c(s0)
sw zero,0x0(s4)
beq v0,zero,0x001029e0
_lw a1,0x1020(s0)
addiu a1,a1,-0x1
sw a1,0x1020(s0)
lw t9,-0x780c(gp)
jalr t9
_or a0,s0,zero
beq v0,zero,0x00102b08
_lw gp,0x18(sp)
lw v0,0x1020(s0)
li v1,0x1
lw a2,0x1018(s0)
lw a0,0x1008(s0)
lw a3,0x100c(s0)
addu a2,a2,v0
lw v0,0x1004(s0)
lw t9,-0x78a0(gp)
lw a1,0x1014(s0)
sw v1,0x10(sp)
jalr t9
_sw v0,0x14(sp)
lw gp,0x18(sp)
beq v0,zero,0x00102b08
_or s2,v0,zero
lw v1,0x100c(s0)
blez v1,0x00102aa4
_or s1,zero,zero
lw s3,0x1008(s0)
lw t9,-0x7e58(gp)
jalr t9
_or a0,s3,zero
sll a2,s1,0x2
lw v1,0x1024(s0)
or a1,s2,zero
lw gp,0x18(sp)
or a0,v0,zero
addiu s1,s1,0x1
addu v1,v1,a2
lw t9,-0x7e34(gp)
jalr t9
_lw a2,0x0(v1)
lw gp,0x18(sp)
lw s3,0x1008(s0)
lw t9,-0x7e58(gp)
jalr t9
_or a0,s3,zero
lw v0,0x2c0(v0)
lw v1,0x100c(s0)
lw gp,0x18(sp)
sll v0,v0,0x2
slt a0,s1,v1
bne a0,zero,0x00102a40
_addu s2,s2,v0
lw ra,0x34(sp)
lw v0,0x1024(s0)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
sw v1,0x0(s4)
lw s4,0x30(sp)
jr ra
_addiu sp,sp,0x38
addiu v0,a0,0x4
lw a2,-0x7fd0(gp)
lw a1,-0x7fd0(gp)
li a3,0x2e2
lw t9,-0x7b78(gp)
lui a0,0x4
sw v0,0x14(sp)
addiu a2,a2,0x3680
lw v0,-0x7fd0(gp)
addiu a1,a1,0x34e8
addiu v0,v0,-0x131c
jalr t9
_sw v0,0x10(sp)
b 0x001029c8
_lw gp,0x18(sp)
lw ra,0x34(sp)
or v0,zero,zero
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x38
lw a3,-0x7fd0(gp)
li a2,0x2e0
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x78e0(gp)
addiu a3,a3,0x369c
addiu a1,a1,0x34e8
jalr t9
_addiu a0,a0,0x3530
lw a3,-0x7fd0(gp)
li a2,0x2df
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x78e0(gp)
addiu a3,a3,0x369c
addiu a1,a1,0x34e8
jalr t9
_addiu a0,a0,0x355c
(translation_unit "uint PixelGetPreviousIteratorRow(int param_1,int *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}\n\n" (function_definition "uint PixelGetPreviousIteratorRow(int param_1,int *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}" type_identifier (function_declarator "PixelGetPreviousIteratorRow(int param_1,int *param_2)" identifier (parameter_list "(int param_1,int *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (if_statement "if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" { (if_statement "if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x102c)" * (cast_expression "(int *)(param_1 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x102c)" ( (binary_expression "param_1 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }" { (if_statement "if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x1028) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1028) != 0" (pointer_expression "*(int *)(param_1 + 0x1028)" * (cast_expression "(int *)(param_1 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1028)" ( (binary_expression "param_1 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" * (cast_expression "(code *)PTR_LogMagickEvent_0014f488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4)" ( number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3680" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + -0x131c" identifier + number_literal) , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) })) (expression_statement "iVar1 = *(int *)(param_1 + 0x101c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x101c)" identifier = (pointer_expression "*(int *)(param_1 + 0x101c)" * (cast_expression "(int *)(param_1 + 0x101c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x101c)" ( (binary_expression "param_1 + 0x101c" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (if_statement "if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }" { (expression_statement "*(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;" (assignment_expression "*(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1" (pointer_expression "*(int *)(param_1 + 0x1020)" * (cast_expression "(int *)(param_1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1020)" ( (binary_expression "param_1 + 0x1020" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1020) + -1" (pointer_expression "*(int *)(param_1 + 0x1020)" * (cast_expression "(int *)(param_1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1020)" ( (binary_expression "param_1 + 0x1020" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);" (assignment_expression "iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1)" identifier = (call_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1)" (parenthesized_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)" ( (pointer_expression "*(code *)PTR_PixelSetIteratorRow_0014f7f4" * (cast_expression "(code *)PTR_PixelSetIteratorRow_0014f7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }" { (expression_statement "iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));" (assignment_expression "iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" identifier = (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_0014f760" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_0014f760" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + param_1)" ( (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (pointer_expression "*(undefined4 *)(&DAT_00001014 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001014 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + param_1)" ( (binary_expression "&DAT_00001014 + param_1" (pointer_expression "&DAT_00001014" & identifier) + identifier) )))) , (binary_expression "*(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + param_1)" * (cast_expression "(int *)(&DAT_00001018 + param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + param_1)" ( (binary_expression "&DAT_00001018 + param_1" (pointer_expression "&DAT_00001018" & identifier) + identifier) )))) + (pointer_expression "*(int *)(param_1 + 0x1020)" * (cast_expression "(int *)(param_1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1020)" ( (binary_expression "param_1 + 0x1020" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(param_1 + 0x100c)" * (cast_expression "(undefined4 *)(param_1 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100c)" ( (binary_expression "param_1 + 0x100c" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + param_1)" ( (binary_expression "&DAT_00001004 + param_1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }" { (expression_statement "iVar4 = *(int *)(param_1 + 0x100c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x100c)" identifier = (pointer_expression "*(int *)(param_1 + 0x100c)" * (cast_expression "(int *)(param_1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100c)" ( (binary_expression "param_1 + 0x100c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }" { (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + param_1)" ( (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (do_statement "do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);" do (compound_statement "{\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            }" { (expression_statement "uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);" (assignment_expression "uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" identifier = (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" ( (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" * (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar4 = iVar6 * 4;" (assignment_expression "iVar4 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));" (call_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4))" (parenthesized_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)" ( (pointer_expression "*(code *)PTR_PixelSetQuantumPixel_0014f1cc" * (cast_expression "(code *)PTR_PixelSetQuantumPixel_0014f1cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1024) + iVar4)" ( (binary_expression "*(int *)(param_1 + 0x1024) + iVar4" (pointer_expression "*(int *)(param_1 + 0x1024)" * (cast_expression "(int *)(param_1 + 0x1024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1024)" ( (binary_expression "param_1 + 0x1024" identifier + number_literal) )))) + identifier) )))) ))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + param_1)" ( (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" identifier = (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" ( (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" * (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x100c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x100c)" identifier = (pointer_expression "*(int *)(param_1 + 0x100c)" * (cast_expression "(int *)(param_1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100c)" ( (binary_expression "param_1 + 0x100c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar1 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "uVar3 = *(uint *)(param_1 + 0x1024);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x1024)" identifier = (pointer_expression "*(uint *)(param_1 + 0x1024)" * (cast_expression "(uint *)(param_1 + 0x1024)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1024)" ( (binary_expression "param_1 + 0x1024" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = iVar4;" (assignment_expression "*param_2 = iVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (return_statement "return uVar3;" return identifier ;) })) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" ( (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3530" identifier + number_literal) , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" identifier + number_literal) ))) ;) })) (expression_statement "puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;" (assignment_expression "puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" identifier = (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR___assert_fail_0014f720;" (assignment_expression "puVar8 = PTR___assert_fail_0014f720" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" ( identifier , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" identifier + number_literal) ))) ;) (if_statement "if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }" { (if_statement "if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }" if (parenthesized_expression "(*(int *)(puVar5 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(puVar5 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x102c)" * (cast_expression "(int *)(puVar5 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x102c)" ( (binary_expression "puVar5 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }" { (if_statement "if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }" if (parenthesized_expression "(*(int *)(puVar5 + 0x1028) != 0)" ( (binary_expression "*(int *)(puVar5 + 0x1028) != 0" (pointer_expression "*(int *)(puVar5 + 0x1028)" * (cast_expression "(int *)(puVar5 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1028)" ( (binary_expression "puVar5 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }" { (expression_statement "(**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);" (call_expression "(**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c)" (parenthesized_expression "(**(code **)(puVar8 + 0x4c914))" ( (pointer_expression "**(code **)(puVar8 + 0x4c914)" * (pointer_expression "*(code **)(puVar8 + 0x4c914)" * (cast_expression "(code **)(puVar8 + 0x4c914)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x4c914)" ( (binary_expression "puVar8 + 0x4c914" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c)" ( number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35c8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + -0x131c" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar5 + 4" identifier + number_literal) , (binary_expression "puVar8 + 0x5448c" identifier + number_literal) ))) ;) })) (expression_statement "*(undefined4 *)(puVar5 + 0x101c) = 0;" (assignment_expression "*(undefined4 *)(puVar5 + 0x101c) = 0" (pointer_expression "*(undefined4 *)(puVar5 + 0x101c)" * (cast_expression "(undefined4 *)(puVar5 + 0x101c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x101c)" ( (binary_expression "puVar5 + 0x101c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;" (assignment_expression "*(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(uint *)(puVar5 + 0x1020)" * (cast_expression "(uint *)(puVar5 + 0x1020)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1020)" ( (binary_expression "puVar5 + 0x1020" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(int *)(puVar5 + 0x1010)" * (cast_expression "(int *)(puVar5 + 0x1010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1010)" ( (binary_expression "puVar5 + 0x1010" identifier + number_literal) )))) - number_literal)) ;) (return_statement "return *(int *)(puVar5 + 0x1010) - 1U;" return (binary_expression "*(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(int *)(puVar5 + 0x1010)" * (cast_expression "(int *)(puVar5 + 0x1010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1010)" ( (binary_expression "puVar5 + 0x1010" identifier + number_literal) )))) - number_literal) ;) })) (expression_statement "(**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);" (call_expression "(**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(**(code **)(puVar8 + 0x4cbac))" ( (pointer_expression "**(code **)(puVar8 + 0x4cbac)" * (pointer_expression "*(code **)(puVar8 + 0x4cbac)" * (cast_expression "(code **)(puVar8 + 0x4cbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x4cbac)" ( (binary_expression "puVar8 + 0x4cbac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0)" ( (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x3530" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x4cbac);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x4cbac)" identifier = (pointer_expression "*(code **)(puVar8 + 0x4cbac)" * (cast_expression "(code **)(puVar8 + 0x4cbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x4cbac)" ( (binary_expression "puVar8 + 0x4cbac" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;" (assignment_expression "iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c" identifier = (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x355c" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);" (call_expression "(*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }" { (if_statement "if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x102c) != -0x54535255)" ( (binary_expression "*(int *)(iVar1 + 0x102c) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x102c)" * (cast_expression "(int *)(iVar1 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x102c)" ( (binary_expression "iVar1 + 0x102c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }" { (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cad4))" ( (pointer_expression "**(code **)(pcVar9 + 0x4cad4)" * (pointer_expression "*(code **)(pcVar9 + 0x4cad4)" * (cast_expression "(code **)(pcVar9 + 0x4cad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4cad4)" ( (binary_expression "pcVar9 + 0x4cad4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" ( (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x3530" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar3;" return identifier ;) })) (if_statement "if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x1028) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x1028) != 0" (pointer_expression "*(int *)(iVar1 + 0x1028)" * (cast_expression "(int *)(iVar1 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1028)" ( (binary_expression "iVar1 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }" { (expression_statement "(**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);" (call_expression "(**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c83c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c83c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c83c)" * (cast_expression "(code **)(pcVar9 + 0x4c83c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c83c)" ( (binary_expression "pcVar9 + 0x4c83c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4)" ( number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35a0" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + -0x131c" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 4" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" identifier = (call_expression "(**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c920))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c920)" * (pointer_expression "*(code **)(pcVar9 + 0x4c920)" * (cast_expression "(code **)(pcVar9 + 0x4c920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c920)" ( (binary_expression "pcVar9 + 0x4c920" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar1)" ( (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }" { (expression_statement "iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" identifier = (call_expression "(**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cb0c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4cb0c)" * (pointer_expression "*(code **)(pcVar9 + 0x4cb0c)" * (cast_expression "(code **)(pcVar9 + 0x4cb0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4cb0c)" ( (binary_expression "pcVar9 + 0x4cb0c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (pointer_expression "*(undefined4 *)(&DAT_00001014 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001014 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + iVar1)" ( (binary_expression "&DAT_00001014 + iVar1" (pointer_expression "&DAT_00001014" & identifier) + identifier) )))) , (binary_expression "*(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + iVar1)" * (cast_expression "(int *)(&DAT_00001018 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + iVar1)" ( (binary_expression "&DAT_00001018 + iVar1" (pointer_expression "&DAT_00001018" & identifier) + identifier) )))) + (pointer_expression "*(int *)(iVar1 + 0x1020)" * (cast_expression "(int *)(iVar1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1020)" ( (binary_expression "iVar1 + 0x1020" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar1 + 0x100c)" * (cast_expression "(undefined4 *)(iVar1 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x100c)" ( (binary_expression "iVar1 + 0x100c" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar1)" ( (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }" { (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (if_statement "if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }" if (parenthesized_expression "(0 < *(int *)(iVar1 + 0x100c))" ( (binary_expression "0 < *(int *)(iVar1 + 0x100c)" number_literal < (pointer_expression "*(int *)(iVar1 + 0x100c)" * (cast_expression "(int *)(iVar1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x100c)" ( (binary_expression "iVar1 + 0x100c" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));" do (compound_statement "{\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          }" { (expression_statement "uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);" (assignment_expression "uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4c55c))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c55c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c55c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c55c)" * (cast_expression "(code **)(pcVar9 + 0x4c55c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c55c)" ( (binary_expression "pcVar9 + 0x4c55c" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar2 = iVar6 * 4;" (assignment_expression "iVar2 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);" (call_expression "(**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c88c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c88c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c88c)" * (cast_expression "(code **)(pcVar9 + 0x4c88c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c88c)" ( (binary_expression "pcVar9 + 0x4c88c" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2)" * (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x1024) + iVar2)" ( (binary_expression "*(int *)(iVar1 + 0x1024) + iVar2" (pointer_expression "*(int *)(iVar1 + 0x1024)" * (cast_expression "(int *)(iVar1 + 0x1024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1024)" ( (binary_expression "iVar1 + 0x1024" identifier + number_literal) )))) + identifier) )))) , identifier ))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);" (assignment_expression "iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4c55c))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c55c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c55c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c55c)" * (cast_expression "(code **)(pcVar9 + 0x4c55c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c55c)" ( (binary_expression "pcVar9 + 0x4c55c" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar4 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar6 < *(int *)(iVar1 + 0x100c))" ( (binary_expression "iVar6 < *(int *)(iVar1 + 0x100c)" identifier < (pointer_expression "*(int *)(iVar1 + 0x100c)" * (cast_expression "(int *)(iVar1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x100c)" ( (binary_expression "iVar1 + 0x100c" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" identifier = (call_expression "(**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4ca34))" ( (pointer_expression "**(code **)(pcVar9 + 0x4ca34)" * (pointer_expression "*(code **)(pcVar9 + 0x4ca34)" * (cast_expression "(code **)(pcVar9 + 0x4ca34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4ca34)" ( (binary_expression "pcVar9 + 0x4ca34" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" ( identifier , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar1)" ( (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (return_statement "return (uint)(iVar1 != 0);" return (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) ))) ;) })) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cad4))" ( (pointer_expression "**(code **)(pcVar9 + 0x4cad4)" * (pointer_expression "*(code **)(pcVar9 + 0x4cad4)" * (cast_expression "(code **)(pcVar9 + 0x4cad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4cad4)" ( (binary_expression "pcVar9 + 0x4cad4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" ( (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x3504" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nPixelWand ** PixelGetPreviousIteratorRow(PixelIterator *iterator,size_t *number_wands)\n\n{\n  MagickBooleanType MVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  PixelWand **ppPVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  int iVar8;\n  int iVar9;\n  CacheView *pCVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  \n  if (iterator != (PixelIterator *)0x0) {\n    if (iterator->signature == 0xabacadab) {\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar7 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar11 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar7 != (undefined *)0x0) {\n    if (*(int *)(puVar7 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }\n    (**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar12 = *(code **)(puVar11 + 0x4cbac);\n  iVar2 = *(int *)(puVar11 + 0x4c4bc) + 0x355c;\n  (*pcVar12)(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x102c) != -0x54535255) {\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }\n    if (*(int *)(iVar2 + 0x1028) != 0) {\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }\n    iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }\n    return (PixelWand **)0x0;\n  }\n  ppPVar5 = (PixelWand **)\n            (**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n  return ppPVar5;\n}\n\n" comment (function_definition "PixelWand ** PixelGetPreviousIteratorRow(PixelIterator *iterator,size_t *number_wands)\n\n{\n  MagickBooleanType MVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  PixelWand **ppPVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  int iVar8;\n  int iVar9;\n  CacheView *pCVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  \n  if (iterator != (PixelIterator *)0x0) {\n    if (iterator->signature == 0xabacadab) {\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar7 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar11 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar7 != (undefined *)0x0) {\n    if (*(int *)(puVar7 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }\n    (**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar12 = *(code **)(puVar11 + 0x4cbac);\n  iVar2 = *(int *)(puVar11 + 0x4c4bc) + 0x355c;\n  (*pcVar12)(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x102c) != -0x54535255) {\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }\n    if (*(int *)(iVar2 + 0x1028) != 0) {\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }\n    iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }\n    return (PixelWand **)0x0;\n  }\n  ppPVar5 = (PixelWand **)\n            (**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n  return ppPVar5;\n}" type_identifier (pointer_declarator "** PixelGetPreviousIteratorRow(PixelIterator *iterator,size_t *number_wands)" * (pointer_declarator "* PixelGetPreviousIteratorRow(PixelIterator *iterator,size_t *number_wands)" * (function_declarator "PixelGetPreviousIteratorRow(PixelIterator *iterator,size_t *number_wands)" identifier (parameter_list "(PixelIterator *iterator,size_t *number_wands)" ( (parameter_declaration "PixelIterator *iterator" type_identifier (pointer_declarator "*iterator" * identifier)) , (parameter_declaration "size_t *number_wands" primitive_type (pointer_declarator "*number_wands" * identifier)) ))))) (compound_statement "{\n  MagickBooleanType MVar1;\n  int iVar2;\n  undefined4 uVar3;\n  int iVar4;\n  PixelWand **ppPVar5;\n  size_t sVar6;\n  undefined *puVar7;\n  int iVar8;\n  int iVar9;\n  CacheView *pCVar10;\n  undefined *puVar11;\n  code *pcVar12;\n  \n  if (iterator != (PixelIterator *)0x0) {\n    if (iterator->signature == 0xabacadab) {\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar7 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar11 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar7 != (undefined *)0x0) {\n    if (*(int *)(puVar7 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }\n    (**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar12 = *(code **)(puVar11 + 0x4cbac);\n  iVar2 = *(int *)(puVar11 + 0x4c4bc) + 0x355c;\n  (*pcVar12)(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x102c) != -0x54535255) {\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }\n    if (*(int *)(iVar2 + 0x1028) != 0) {\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }\n    iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }\n    return (PixelWand **)0x0;\n  }\n  ppPVar5 = (PixelWand **)\n            (**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n  return ppPVar5;\n}" { (declaration "MagickBooleanType MVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "PixelWand **ppPVar5;" type_identifier (pointer_declarator "**ppPVar5" * (pointer_declarator "*ppPVar5" * identifier)) ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "CacheView *pCVar10;" type_identifier (pointer_declarator "*pCVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (if_statement "if (iterator != (PixelIterator *)0x0) {\n    if (iterator->signature == 0xabacadab) {\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" if (parenthesized_expression "(iterator != (PixelIterator *)0x0)" ( (binary_expression "iterator != (PixelIterator *)0x0" identifier != (cast_expression "(PixelIterator *)0x0" ( (type_descriptor "PixelIterator *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iterator->signature == 0xabacadab) {\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" { (if_statement "if (iterator->signature == 0xabacadab) {\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }" if (parenthesized_expression "(iterator->signature == 0xabacadab)" ( (binary_expression "iterator->signature == 0xabacadab" (field_expression "iterator->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }\n      MVar1 = iterator->active;\n      *number_wands = 0;\n      if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }\n      iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);\n      if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }\n      return (PixelWand **)0x0;\n    }" { (if_statement "if (iterator->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }" if (parenthesized_expression "(iterator->debug != MagickFalse)" ( (binary_expression "iterator->debug != MagickFalse" (field_expression "iterator->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" * (cast_expression "(code *)PTR_LogMagickEvent_0014f488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,iterator->name)" ( number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3680" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + -0x131c" identifier + number_literal) , (field_expression "iterator->name" identifier -> field_identifier) ))) ;) })) (expression_statement "MVar1 = iterator->active;" (assignment_expression "MVar1 = iterator->active" identifier = (field_expression "iterator->active" identifier -> field_identifier)) ;) (expression_statement "*number_wands = 0;" (assignment_expression "*number_wands = 0" (pointer_expression "*number_wands" * identifier) = number_literal) ;) (if_statement "if (MVar1 != MagickFalse) {\n        iterator->y = iterator->y + -1;\n      }" if (parenthesized_expression "(MVar1 != MagickFalse)" ( (binary_expression "MVar1 != MagickFalse" identifier != identifier) )) (compound_statement "{\n        iterator->y = iterator->y + -1;\n      }" { (expression_statement "iterator->y = iterator->y + -1;" (assignment_expression "iterator->y = iterator->y + -1" (field_expression "iterator->y" identifier -> field_identifier) = (binary_expression "iterator->y + -1" (field_expression "iterator->y" identifier -> field_identifier) + number_literal)) ;) })) (expression_statement "iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator);" (assignment_expression "iVar2 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator)" identifier = (call_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)(iterator)" (parenthesized_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)" ( (pointer_expression "*(code *)PTR_PixelSetIteratorRow_0014f7f4" * (cast_expression "(code *)PTR_PixelSetIteratorRow_0014f7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iterator)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);\n        if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }\n      }" { (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception)" identifier = (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception)" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_0014f760" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_0014f760" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iterator->view,(iterator->region).x,(iterator->region).y + iterator->y,\n                           (iterator->region).width,1,iterator->exception)" ( (field_expression "iterator->view" identifier -> field_identifier) , (field_expression "(iterator->region).x" (parenthesized_expression "(iterator->region)" ( (field_expression "iterator->region" identifier -> field_identifier) )) . field_identifier) , (binary_expression "(iterator->region).y + iterator->y" (field_expression "(iterator->region).y" (parenthesized_expression "(iterator->region)" ( (field_expression "iterator->region" identifier -> field_identifier) )) . field_identifier) + (field_expression "iterator->y" identifier -> field_identifier)) , (field_expression "(iterator->region).width" (parenthesized_expression "(iterator->region)" ( (field_expression "iterator->region" identifier -> field_identifier) )) . field_identifier) , number_literal , (field_expression "iterator->exception" identifier -> field_identifier) )))) ;) (if_statement "if (iVar2 != 0) {\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          sVar6 = (iterator->region).width;\n          if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }\n          ppPVar5 = iterator->pixel_wands;\n          *number_wands = sVar6;\n          return ppPVar5;\n        }" { (expression_statement "sVar6 = (iterator->region).width;" (assignment_expression "sVar6 = (iterator->region).width" identifier = (field_expression "(iterator->region).width" (parenthesized_expression "(iterator->region)" ( (field_expression "iterator->region" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (0 < (int)sVar6) {\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }" if (parenthesized_expression "(0 < (int)sVar6)" ( (binary_expression "0 < (int)sVar6" number_literal < (cast_expression "(int)sVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pCVar10 = iterator->view;\n            iVar4 = 0;\n            do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);\n          }" { (expression_statement "pCVar10 = iterator->view;" (assignment_expression "pCVar10 = iterator->view" identifier = (field_expression "iterator->view" identifier -> field_identifier)) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            } while (iVar9 < (int)sVar6);" do (compound_statement "{\n              uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              iVar9 = iVar4 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;\n              pCVar10 = iterator->view;\n              iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);\n              sVar6 = (iterator->region).width;\n              iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;\n              iVar4 = iVar9;\n            }" { (expression_statement "uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);" (assignment_expression "uVar3 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10)" identifier = (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" ( (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" * (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar10)" ( identifier )))) ;) (expression_statement "iVar9 = iVar4 + 1;" (assignment_expression "iVar9 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])\n              ;" (call_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)(uVar3,iVar2,iterator->pixel_wands[iVar4])" (parenthesized_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)" ( (pointer_expression "*(code *)PTR_PixelSetQuantumPixel_0014f1cc" * (cast_expression "(code *)PTR_PixelSetQuantumPixel_0014f1cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar3,iVar2,iterator->pixel_wands[iVar4])" ( identifier , identifier , (subscript_expression "iterator->pixel_wands[iVar4]" (field_expression "iterator->pixel_wands" identifier -> field_identifier) [ identifier ]) ))) ;) (expression_statement "pCVar10 = iterator->view;" (assignment_expression "pCVar10 = iterator->view" identifier = (field_expression "iterator->view" identifier -> field_identifier)) ;) (expression_statement "iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10);" (assignment_expression "iVar4 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10)" identifier = (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(pCVar10)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" ( (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" * (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pCVar10)" ( identifier )))) ;) (expression_statement "sVar6 = (iterator->region).width;" (assignment_expression "sVar6 = (iterator->region).width" identifier = (field_expression "(iterator->region).width" (parenthesized_expression "(iterator->region)" ( (field_expression "iterator->region" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4;" (assignment_expression "iVar2 = iVar2 + *(int *)(iVar4 + 0x2c0) * 4" identifier = (binary_expression "iVar2 + *(int *)(iVar4 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar4 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar4 + 0x2c0)" * (cast_expression "(int *)(iVar4 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2c0)" ( (binary_expression "iVar4 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) (expression_statement "iVar4 = iVar9;" (assignment_expression "iVar4 = iVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 < (int)sVar6)" ( (binary_expression "iVar9 < (int)sVar6" identifier < (cast_expression "(int)sVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "ppPVar5 = iterator->pixel_wands;" (assignment_expression "ppPVar5 = iterator->pixel_wands" identifier = (field_expression "iterator->pixel_wands" identifier -> field_identifier)) ;) (expression_statement "*number_wands = sVar6;" (assignment_expression "*number_wands = sVar6" (pointer_expression "*number_wands" * identifier) = identifier) ;) (return_statement "return ppPVar5;" return identifier ;) })) })) (return_statement "return (PixelWand **)0x0;" return (cast_expression "(PixelWand **)0x0" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) })) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" ( (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3530" identifier + number_literal) , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" identifier + number_literal) ))) ;) })) (expression_statement "puVar7 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;" (assignment_expression "puVar7 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" identifier = (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR___assert_fail_0014f720;" (assignment_expression "puVar11 = PTR___assert_fail_0014f720" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n            (puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n            (puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar7,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" ( identifier , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" identifier + number_literal) ))) ;) (if_statement "if (puVar7 != (undefined *)0x0) {\n    if (*(int *)(puVar7 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }\n    (**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  }" if (parenthesized_expression "(puVar7 != (undefined *)0x0)" ( (binary_expression "puVar7 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar7 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }\n    (**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);\n  }" { (if_statement "if (*(int *)(puVar7 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }" if (parenthesized_expression "(*(int *)(puVar7 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(puVar7 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(puVar7 + 0x102c)" * (cast_expression "(int *)(puVar7 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x102c)" ( (binary_expression "puVar7 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }\n      *(undefined4 *)(puVar7 + 0x101c) = 0;\n      *(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n      return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);\n    }" { (if_statement "if (*(int *)(puVar7 + 0x1028) != 0) {\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }" if (parenthesized_expression "(*(int *)(puVar7 + 0x1028) != 0)" ( (binary_expression "*(int *)(puVar7 + 0x1028) != 0" (pointer_expression "*(int *)(puVar7 + 0x1028)" * (cast_expression "(int *)(puVar7 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1028)" ( (binary_expression "puVar7 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);\n      }" { (expression_statement "(**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c);" (call_expression "(**(code **)(puVar11 + 0x4c914))\n                  (0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c)" (parenthesized_expression "(**(code **)(puVar11 + 0x4c914))" ( (pointer_expression "**(code **)(puVar11 + 0x4c914)" * (pointer_expression "*(code **)(puVar11 + 0x4c914)" * (cast_expression "(code **)(puVar11 + 0x4c914)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4c914)" ( (binary_expression "puVar11 + 0x4c914" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,*(int *)(puVar11 + 0x4c4bc) + 0x35c8\n                   ,0x379,*(int *)(puVar11 + 0x4c4bc) + -0x131c,puVar7 + 4,puVar11 + 0x5448c)" ( number_literal , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x35c8" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + -0x131c" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar7 + 4" identifier + number_literal) , (binary_expression "puVar11 + 0x5448c" identifier + number_literal) ))) ;) })) (expression_statement "*(undefined4 *)(puVar7 + 0x101c) = 0;" (assignment_expression "*(undefined4 *)(puVar7 + 0x101c) = 0" (pointer_expression "*(undefined4 *)(puVar7 + 0x101c)" * (cast_expression "(undefined4 *)(puVar7 + 0x101c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x101c)" ( (binary_expression "puVar7 + 0x101c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);" (assignment_expression "*(PixelWand ***)(puVar7 + 0x1020) = (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1)" (pointer_expression "*(PixelWand ***)(puVar7 + 0x1020)" * (cast_expression "(PixelWand ***)(puVar7 + 0x1020)" ( (type_descriptor "PixelWand ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar7 + 0x1020)" ( (binary_expression "puVar7 + 0x1020" identifier + number_literal) )))) = (cast_expression "(PixelWand **)(*(int *)(puVar7 + 0x1010) + -1)" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar7 + 0x1010) + -1)" ( (binary_expression "*(int *)(puVar7 + 0x1010) + -1" (pointer_expression "*(int *)(puVar7 + 0x1010)" * (cast_expression "(int *)(puVar7 + 0x1010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1010)" ( (binary_expression "puVar7 + 0x1010" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return (PixelWand **)(*(int *)(puVar7 + 0x1010) + -1);" return (cast_expression "(PixelWand **)(*(int *)(puVar7 + 0x1010) + -1)" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar7 + 0x1010) + -1)" ( (binary_expression "*(int *)(puVar7 + 0x1010) + -1" (pointer_expression "*(int *)(puVar7 + 0x1010)" * (cast_expression "(int *)(puVar7 + 0x1010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x1010)" ( (binary_expression "puVar7 + 0x1010" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0);" (call_expression "(**(code **)(puVar11 + 0x4cbac))\n              (*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(**(code **)(puVar11 + 0x4cbac))" ( (pointer_expression "**(code **)(puVar11 + 0x4cbac)" * (pointer_expression "*(code **)(puVar11 + 0x4cbac)" * (cast_expression "(code **)(puVar11 + 0x4cbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4cbac)" ( (binary_expression "puVar11 + 0x4cbac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar11 + 0x4c4bc) + 0x3530,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar11 + 0x4c4bc) + 0x35e0)" ( (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x3530" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar12 = *(code **)(puVar11 + 0x4cbac);" (assignment_expression "pcVar12 = *(code **)(puVar11 + 0x4cbac)" identifier = (pointer_expression "*(code **)(puVar11 + 0x4cbac)" * (cast_expression "(code **)(puVar11 + 0x4cbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar11 + 0x4cbac)" ( (binary_expression "puVar11 + 0x4cbac" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(puVar11 + 0x4c4bc) + 0x355c;" (assignment_expression "iVar2 = *(int *)(puVar11 + 0x4c4bc) + 0x355c" identifier = (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x355c" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar12)(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0);" (call_expression "(*pcVar12)(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(*pcVar12)" ( (pointer_expression "*pcVar12" * identifier) )) (argument_list "(iVar2,*(int *)(puVar11 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar11 + 0x4c4bc) + 0x35e0)" ( identifier , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar11 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar11 + 0x4c4bc)" * (cast_expression "(int *)(puVar11 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + 0x4c4bc)" ( (binary_expression "puVar11 + 0x4c4bc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar2 != 0) {\n    if (*(int *)(iVar2 + 0x102c) != -0x54535255) {\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }\n    if (*(int *)(iVar2 + 0x1028) != 0) {\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }\n    iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }\n    return (PixelWand **)0x0;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar2 + 0x102c) != -0x54535255) {\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }\n    if (*(int *)(iVar2 + 0x1028) != 0) {\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }\n    iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }\n    return (PixelWand **)0x0;\n  }" { (if_statement "if (*(int *)(iVar2 + 0x102c) != -0x54535255) {\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x102c) != -0x54535255)" ( (binary_expression "*(int *)(iVar2 + 0x102c) != -0x54535255" (pointer_expression "*(int *)(iVar2 + 0x102c)" * (cast_expression "(int *)(iVar2 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x102c)" ( (binary_expression "iVar2 + 0x102c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);\n      return ppPVar5;\n    }" { (expression_statement "ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);" (assignment_expression "ppPVar5 = (PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" identifier = (cast_expression "(PixelWand **)\n                (**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(pcVar12 + 0x4cad4))\n                          (*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x4cad4))" ( (pointer_expression "**(code **)(pcVar12 + 0x4cad4)" * (pointer_expression "*(code **)(pcVar12 + 0x4cad4)" * (cast_expression "(code **)(pcVar12 + 0x4cad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4cad4)" ( (binary_expression "pcVar12 + 0x4cad4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x4c3e4) + 0x3530,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8\n                           ,0x3a0,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" ( (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x3530" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return ppPVar5;" return identifier ;) })) (if_statement "if (*(int *)(iVar2 + 0x1028) != 0) {\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar2 + 0x1028) != 0)" ( (binary_expression "*(int *)(iVar2 + 0x1028) != 0" (pointer_expression "*(int *)(iVar2 + 0x1028)" * (cast_expression "(int *)(iVar2 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1028)" ( (binary_expression "iVar2 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);\n    }" { (expression_statement "(**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4);" (call_expression "(**(code **)(pcVar12 + 0x4c83c))\n                (0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x4c83c))" ( (pointer_expression "**(code **)(pcVar12 + 0x4c83c)" * (pointer_expression "*(code **)(pcVar12 + 0x4c83c)" * (cast_expression "(code **)(pcVar12 + 0x4c83c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4c83c)" ( (binary_expression "pcVar12 + 0x4c83c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,*(int *)(pcVar12 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar12 + 0x4c3e4) + -0x131c,iVar2 + 4)" ( number_literal , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x35a0" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + -0x131c" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar2 + 4" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2));" (assignment_expression "iVar4 = (**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2))" identifier = (call_expression "(**(code **)(pcVar12 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2))" (parenthesized_expression "(**(code **)(pcVar12 + 0x4c920))" ( (pointer_expression "**(code **)(pcVar12 + 0x4c920)" * (pointer_expression "*(code **)(pcVar12 + 0x4c920)" * (cast_expression "(code **)(pcVar12 + 0x4c920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4c920)" ( (binary_expression "pcVar12 + 0x4c920" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar2),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar2))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar2)" ( (binary_expression "&DAT_00001008 + iVar2" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar2)" ( (binary_expression "&DAT_00001004 + iVar2" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));\n      if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }\n    }" { (expression_statement "iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2));" (assignment_expression "iVar4 = (**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2))" identifier = (call_expression "(**(code **)(pcVar12 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2))" (parenthesized_expression "(**(code **)(pcVar12 + 0x4cb0c))" ( (pointer_expression "**(code **)(pcVar12 + 0x4cb0c)" * (pointer_expression "*(code **)(pcVar12 + 0x4cb0c)" * (cast_expression "(code **)(pcVar12 + 0x4cb0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4cb0c)" ( (binary_expression "pcVar12 + 0x4cb0c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar2),\n                         *(undefined4 *)(&DAT_00001014 + iVar2),\n                         *(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020),\n                         *(undefined4 *)(iVar2 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar2))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar2)" ( (binary_expression "&DAT_00001008 + iVar2" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (pointer_expression "*(undefined4 *)(&DAT_00001014 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001014 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + iVar2)" ( (binary_expression "&DAT_00001014 + iVar2" (pointer_expression "&DAT_00001014" & identifier) + identifier) )))) , (binary_expression "*(int *)(&DAT_00001018 + iVar2) + *(int *)(iVar2 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + iVar2)" * (cast_expression "(int *)(&DAT_00001018 + iVar2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + iVar2)" ( (binary_expression "&DAT_00001018 + iVar2" (pointer_expression "&DAT_00001018" & identifier) + identifier) )))) + (pointer_expression "*(int *)(iVar2 + 0x1020)" * (cast_expression "(int *)(iVar2 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1020)" ( (binary_expression "iVar2 + 0x1020" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar2 + 0x100c)" * (cast_expression "(undefined4 *)(iVar2 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x100c)" ( (binary_expression "iVar2 + 0x100c" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar2)" ( (binary_expression "&DAT_00001004 + iVar2" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar4 != 0) {\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n        if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }\n        iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));\n        return (PixelWand **)(uint)(iVar2 != 0);\n      }" { (expression_statement "uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);" (assignment_expression "uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar2)" ( (binary_expression "&DAT_00001008 + iVar2" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (if_statement "if (0 < *(int *)(iVar2 + 0x100c)) {\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }" if (parenthesized_expression "(0 < *(int *)(iVar2 + 0x100c))" ( (binary_expression "0 < *(int *)(iVar2 + 0x100c)" number_literal < (pointer_expression "*(int *)(iVar2 + 0x100c)" * (cast_expression "(int *)(iVar2 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x100c)" ( (binary_expression "iVar2 + 0x100c" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar9 = 0;\n          do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));\n        }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          } while (iVar9 < *(int *)(iVar2 + 0x100c));" do (compound_statement "{\n            uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar8 = iVar9 * 4;\n            iVar9 = iVar9 + 1;\n            (**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);\n            uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);\n            iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);\n            iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;\n          }" { (expression_statement "uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);" (assignment_expression "uVar3 = (**(code **)(pcVar12 + 0x4c55c))(uVar3)" identifier = (call_expression "(**(code **)(pcVar12 + 0x4c55c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar12 + 0x4c55c))" ( (pointer_expression "**(code **)(pcVar12 + 0x4c55c)" * (pointer_expression "*(code **)(pcVar12 + 0x4c55c)" * (cast_expression "(code **)(pcVar12 + 0x4c55c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4c55c)" ( (binary_expression "pcVar12 + 0x4c55c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "iVar8 = iVar9 * 4;" (assignment_expression "iVar8 = iVar9 * 4" identifier = (binary_expression "iVar9 * 4" identifier * number_literal)) ;) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4);" (call_expression "(**(code **)(pcVar12 + 0x4c88c))\n                      (uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x4c88c))" ( (pointer_expression "**(code **)(pcVar12 + 0x4c88c)" * (pointer_expression "*(code **)(pcVar12 + 0x4c88c)" * (cast_expression "(code **)(pcVar12 + 0x4c88c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4c88c)" ( (binary_expression "pcVar12 + 0x4c88c" identifier + number_literal) ))))) )) (argument_list "(uVar3,*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8),iVar4)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8)" * (cast_expression "(undefined4 *)(*(int *)(iVar2 + 0x1024) + iVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 0x1024) + iVar8)" ( (binary_expression "*(int *)(iVar2 + 0x1024) + iVar8" (pointer_expression "*(int *)(iVar2 + 0x1024)" * (cast_expression "(int *)(iVar2 + 0x1024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1024)" ( (binary_expression "iVar2 + 0x1024" identifier + number_literal) )))) + identifier) )))) , identifier ))) ;) (expression_statement "uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2);" (assignment_expression "uVar3 = *(undefined4 *)(&DAT_00001008 + iVar2)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar2)" ( (binary_expression "&DAT_00001008 + iVar2" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3);" (assignment_expression "iVar8 = (**(code **)(pcVar12 + 0x4c55c))(uVar3)" identifier = (call_expression "(**(code **)(pcVar12 + 0x4c55c))(uVar3)" (parenthesized_expression "(**(code **)(pcVar12 + 0x4c55c))" ( (pointer_expression "**(code **)(pcVar12 + 0x4c55c)" * (pointer_expression "*(code **)(pcVar12 + 0x4c55c)" * (cast_expression "(code **)(pcVar12 + 0x4c55c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4c55c)" ( (binary_expression "pcVar12 + 0x4c55c" identifier + number_literal) ))))) )) (argument_list "(uVar3)" ( identifier )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar8 + 0x2c0) * 4" identifier = (binary_expression "iVar4 + *(int *)(iVar8 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar8 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar8 + 0x2c0)" * (cast_expression "(int *)(iVar8 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x2c0)" ( (binary_expression "iVar8 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar9 < *(int *)(iVar2 + 0x100c))" ( (binary_expression "iVar9 < *(int *)(iVar2 + 0x100c)" identifier < (pointer_expression "*(int *)(iVar2 + 0x100c)" * (cast_expression "(int *)(iVar2 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x100c)" ( (binary_expression "iVar2 + 0x100c" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2));" (assignment_expression "iVar2 = (**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2))" identifier = (call_expression "(**(code **)(pcVar12 + 0x4ca34))(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2))" (parenthesized_expression "(**(code **)(pcVar12 + 0x4ca34))" ( (pointer_expression "**(code **)(pcVar12 + 0x4ca34)" * (pointer_expression "*(code **)(pcVar12 + 0x4ca34)" * (cast_expression "(code **)(pcVar12 + 0x4ca34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4ca34)" ( (binary_expression "pcVar12 + 0x4ca34" identifier + number_literal) ))))) )) (argument_list "(uVar3,*(undefined4 *)(&DAT_00001004 + iVar2))" ( identifier , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar2)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar2)" ( (binary_expression "&DAT_00001004 + iVar2" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (return_statement "return (PixelWand **)(uint)(iVar2 != 0);" return (cast_expression "(PixelWand **)(uint)(iVar2 != 0)" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )))) ;) })) })) (return_statement "return (PixelWand **)0x0;" return (cast_expression "(PixelWand **)0x0" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ;) })) (expression_statement "ppPVar5 = (PixelWand **)\n            (**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4);" (assignment_expression "ppPVar5 = (PixelWand **)\n            (**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" identifier = (cast_expression "(PixelWand **)\n            (**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" ( (type_descriptor "PixelWand **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(pcVar12 + 0x4cad4))\n                      (*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar12 + 0x4cad4))" ( (pointer_expression "**(code **)(pcVar12 + 0x4cad4)" * (pointer_expression "*(code **)(pcVar12 + 0x4cad4)" * (cast_expression "(code **)(pcVar12 + 0x4cad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar12 + 0x4cad4)" ( (binary_expression "pcVar12 + 0x4cad4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar12 + 0x4c3e4) + 0x3504,*(int *)(pcVar12 + 0x4c3e4) + 0x34e8,\n                       0x39f,*(int *)(pcVar12 + 0x4c3e4) + 0x35b4)" ( (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x3504" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar12 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar12 + 0x4c3e4)" * (cast_expression "(int *)(pcVar12 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar12 + 0x4c3e4)" ( (binary_expression "pcVar12 + 0x4c3e4" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return ppPVar5;" return identifier ;) })))
(translation_unit "uint PixelGetPreviousIteratorRow(int param_1,int *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}\n\n" (function_definition "uint PixelGetPreviousIteratorRow(int param_1,int *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}" type_identifier (function_declarator "PixelGetPreviousIteratorRow(int param_1,int *param_2)" identifier (parameter_list "(int param_1,int *param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (if_statement "if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" { (if_statement "if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x102c)" * (cast_expression "(int *)(param_1 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x102c)" ( (binary_expression "param_1 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }" { (if_statement "if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x1028) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1028) != 0" (pointer_expression "*(int *)(param_1 + 0x1028)" * (cast_expression "(int *)(param_1 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1028)" ( (binary_expression "param_1 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" * (cast_expression "(code *)PTR_LogMagickEvent_0014f488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4)" ( number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3680" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + -0x131c" identifier + number_literal) , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) })) (expression_statement "iVar1 = *(int *)(param_1 + 0x101c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x101c)" identifier = (pointer_expression "*(int *)(param_1 + 0x101c)" * (cast_expression "(int *)(param_1 + 0x101c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x101c)" ( (binary_expression "param_1 + 0x101c" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (if_statement "if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }" { (expression_statement "*(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;" (assignment_expression "*(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1" (pointer_expression "*(int *)(param_1 + 0x1020)" * (cast_expression "(int *)(param_1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1020)" ( (binary_expression "param_1 + 0x1020" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x1020) + -1" (pointer_expression "*(int *)(param_1 + 0x1020)" * (cast_expression "(int *)(param_1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1020)" ( (binary_expression "param_1 + 0x1020" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);" (assignment_expression "iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1)" identifier = (call_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1)" (parenthesized_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)" ( (pointer_expression "*(code *)PTR_PixelSetIteratorRow_0014f7f4" * (cast_expression "(code *)PTR_PixelSetIteratorRow_0014f7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }" { (expression_statement "iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));" (assignment_expression "iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" identifier = (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)" ( (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_0014f760" * (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_0014f760" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + param_1)" ( (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (pointer_expression "*(undefined4 *)(&DAT_00001014 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001014 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + param_1)" ( (binary_expression "&DAT_00001014 + param_1" (pointer_expression "&DAT_00001014" & identifier) + identifier) )))) , (binary_expression "*(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + param_1)" * (cast_expression "(int *)(&DAT_00001018 + param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + param_1)" ( (binary_expression "&DAT_00001018 + param_1" (pointer_expression "&DAT_00001018" & identifier) + identifier) )))) + (pointer_expression "*(int *)(param_1 + 0x1020)" * (cast_expression "(int *)(param_1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1020)" ( (binary_expression "param_1 + 0x1020" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(param_1 + 0x100c)" * (cast_expression "(undefined4 *)(param_1 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100c)" ( (binary_expression "param_1 + 0x100c" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + param_1)" ( (binary_expression "&DAT_00001004 + param_1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }" { (expression_statement "iVar4 = *(int *)(param_1 + 0x100c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x100c)" identifier = (pointer_expression "*(int *)(param_1 + 0x100c)" * (cast_expression "(int *)(param_1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100c)" ( (binary_expression "param_1 + 0x100c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (if_statement "if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }" { (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + param_1)" ( (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (do_statement "do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);" do (compound_statement "{\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            }" { (expression_statement "uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);" (assignment_expression "uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" identifier = (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" ( (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" * (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar4 = iVar6 * 4;" (assignment_expression "iVar4 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));" (call_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4))" (parenthesized_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)" ( (pointer_expression "*(code *)PTR_PixelSetQuantumPixel_0014f1cc" * (cast_expression "(code *)PTR_PixelSetQuantumPixel_0014f1cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4))" ( identifier , identifier , (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x1024) + iVar4)" ( (binary_expression "*(int *)(param_1 + 0x1024) + iVar4" (pointer_expression "*(int *)(param_1 + 0x1024)" * (cast_expression "(int *)(param_1 + 0x1024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1024)" ( (binary_expression "param_1 + 0x1024" identifier + number_literal) )))) + identifier) )))) ))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + param_1)" ( (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" identifier = (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" ( (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" * (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x100c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x100c)" identifier = (pointer_expression "*(int *)(param_1 + 0x100c)" * (cast_expression "(int *)(param_1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x100c)" ( (binary_expression "param_1 + 0x100c" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar1 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar6 < iVar4)" ( (binary_expression "iVar6 < iVar4" identifier < identifier) )) ;) })) (expression_statement "uVar3 = *(uint *)(param_1 + 0x1024);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x1024)" identifier = (pointer_expression "*(uint *)(param_1 + 0x1024)" * (cast_expression "(uint *)(param_1 + 0x1024)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1024)" ( (binary_expression "param_1 + 0x1024" identifier + number_literal) ))))) ;) (expression_statement "*param_2 = iVar4;" (assignment_expression "*param_2 = iVar4" (pointer_expression "*param_2" * identifier) = identifier) ;) (return_statement "return uVar3;" return identifier ;) })) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" ( (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3530" identifier + number_literal) , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" identifier + number_literal) ))) ;) })) (expression_statement "puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;" (assignment_expression "puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" identifier = (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" identifier + number_literal)) ;) (expression_statement "puVar8 = PTR___assert_fail_0014f720;" (assignment_expression "puVar8 = PTR___assert_fail_0014f720" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" ( (pointer_expression "*(code *)PTR___assert_fail_0014f720" * (cast_expression "(code *)PTR___assert_fail_0014f720" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" ( identifier , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" identifier + number_literal) ))) ;) (if_statement "if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }" if (parenthesized_expression "(puVar5 != (undefined *)0x0)" ( (binary_expression "puVar5 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }" { (if_statement "if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }" if (parenthesized_expression "(*(int *)(puVar5 + 0x102c) == -0x54535255)" ( (binary_expression "*(int *)(puVar5 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x102c)" * (cast_expression "(int *)(puVar5 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x102c)" ( (binary_expression "puVar5 + 0x102c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }" { (if_statement "if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }" if (parenthesized_expression "(*(int *)(puVar5 + 0x1028) != 0)" ( (binary_expression "*(int *)(puVar5 + 0x1028) != 0" (pointer_expression "*(int *)(puVar5 + 0x1028)" * (cast_expression "(int *)(puVar5 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1028)" ( (binary_expression "puVar5 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }" { (expression_statement "(**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);" (call_expression "(**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c)" (parenthesized_expression "(**(code **)(puVar8 + 0x4c914))" ( (pointer_expression "**(code **)(puVar8 + 0x4c914)" * (pointer_expression "*(code **)(puVar8 + 0x4c914)" * (cast_expression "(code **)(puVar8 + 0x4c914)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x4c914)" ( (binary_expression "puVar8 + 0x4c914" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c)" ( number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35c8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + -0x131c" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "puVar5 + 4" identifier + number_literal) , (binary_expression "puVar8 + 0x5448c" identifier + number_literal) ))) ;) })) (expression_statement "*(undefined4 *)(puVar5 + 0x101c) = 0;" (assignment_expression "*(undefined4 *)(puVar5 + 0x101c) = 0" (pointer_expression "*(undefined4 *)(puVar5 + 0x101c)" * (cast_expression "(undefined4 *)(puVar5 + 0x101c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x101c)" ( (binary_expression "puVar5 + 0x101c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;" (assignment_expression "*(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(uint *)(puVar5 + 0x1020)" * (cast_expression "(uint *)(puVar5 + 0x1020)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1020)" ( (binary_expression "puVar5 + 0x1020" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(int *)(puVar5 + 0x1010)" * (cast_expression "(int *)(puVar5 + 0x1010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1010)" ( (binary_expression "puVar5 + 0x1010" identifier + number_literal) )))) - number_literal)) ;) (return_statement "return *(int *)(puVar5 + 0x1010) - 1U;" return (binary_expression "*(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(int *)(puVar5 + 0x1010)" * (cast_expression "(int *)(puVar5 + 0x1010)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x1010)" ( (binary_expression "puVar5 + 0x1010" identifier + number_literal) )))) - number_literal) ;) })) (expression_statement "(**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);" (call_expression "(**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(**(code **)(puVar8 + 0x4cbac))" ( (pointer_expression "**(code **)(puVar8 + 0x4cbac)" * (pointer_expression "*(code **)(puVar8 + 0x4cbac)" * (cast_expression "(code **)(puVar8 + 0x4cbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x4cbac)" ( (binary_expression "puVar8 + 0x4cbac" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0)" ( (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x3530" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x4cbac);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x4cbac)" identifier = (pointer_expression "*(code **)(puVar8 + 0x4cbac)" * (cast_expression "(code **)(puVar8 + 0x4cbac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x4cbac)" ( (binary_expression "puVar8 + 0x4cbac" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;" (assignment_expression "iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c" identifier = (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x355c" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);" (call_expression "(*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0)" ( identifier , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" * (cast_expression "(int *)(puVar8 + 0x4c4bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x4c4bc)" ( (binary_expression "puVar8 + 0x4c4bc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }" { (if_statement "if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x102c) != -0x54535255)" ( (binary_expression "*(int *)(iVar1 + 0x102c) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x102c)" * (cast_expression "(int *)(iVar1 + 0x102c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x102c)" ( (binary_expression "iVar1 + 0x102c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }" { (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cad4))" ( (pointer_expression "**(code **)(pcVar9 + 0x4cad4)" * (pointer_expression "*(code **)(pcVar9 + 0x4cad4)" * (cast_expression "(code **)(pcVar9 + 0x4cad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4cad4)" ( (binary_expression "pcVar9 + 0x4cad4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" ( (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x3530" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar3;" return identifier ;) })) (if_statement "if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }" if (parenthesized_expression "(*(int *)(iVar1 + 0x1028) != 0)" ( (binary_expression "*(int *)(iVar1 + 0x1028) != 0" (pointer_expression "*(int *)(iVar1 + 0x1028)" * (cast_expression "(int *)(iVar1 + 0x1028)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1028)" ( (binary_expression "iVar1 + 0x1028" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }" { (expression_statement "(**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);" (call_expression "(**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c83c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c83c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c83c)" * (cast_expression "(code **)(pcVar9 + 0x4c83c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c83c)" ( (binary_expression "pcVar9 + 0x4c83c" identifier + number_literal) ))))) )) (argument_list "(0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4)" ( number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35a0" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + -0x131c" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 4" identifier + number_literal) ))) ;) })) (expression_statement "iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" identifier = (call_expression "(**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c920))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c920)" * (pointer_expression "*(code **)(pcVar9 + 0x4c920)" * (cast_expression "(code **)(pcVar9 + 0x4c920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c920)" ( (binary_expression "pcVar9 + 0x4c920" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar1)" ( (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }" { (expression_statement "iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" identifier = (call_expression "(**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cb0c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4cb0c)" * (pointer_expression "*(code **)(pcVar9 + 0x4cb0c)" * (cast_expression "(code **)(pcVar9 + 0x4cb0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4cb0c)" ( (binary_expression "pcVar9 + 0x4cb0c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" ( (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) )))) , (pointer_expression "*(undefined4 *)(&DAT_00001014 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001014 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001014 + iVar1)" ( (binary_expression "&DAT_00001014 + iVar1" (pointer_expression "&DAT_00001014" & identifier) + identifier) )))) , (binary_expression "*(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + iVar1)" * (cast_expression "(int *)(&DAT_00001018 + iVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001018 + iVar1)" ( (binary_expression "&DAT_00001018 + iVar1" (pointer_expression "&DAT_00001018" & identifier) + identifier) )))) + (pointer_expression "*(int *)(iVar1 + 0x1020)" * (cast_expression "(int *)(iVar1 + 0x1020)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1020)" ( (binary_expression "iVar1 + 0x1020" identifier + number_literal) ))))) , (pointer_expression "*(undefined4 *)(iVar1 + 0x100c)" * (cast_expression "(undefined4 *)(iVar1 + 0x100c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x100c)" ( (binary_expression "iVar1 + 0x100c" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar1)" ( (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (if_statement "if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }" { (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (if_statement "if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }" if (parenthesized_expression "(0 < *(int *)(iVar1 + 0x100c))" ( (binary_expression "0 < *(int *)(iVar1 + 0x100c)" number_literal < (pointer_expression "*(int *)(iVar1 + 0x100c)" * (cast_expression "(int *)(iVar1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x100c)" ( (binary_expression "iVar1 + 0x100c" identifier + number_literal) ))))) )) (compound_statement "{\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));" do (compound_statement "{\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          }" { (expression_statement "uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);" (assignment_expression "uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4c55c))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c55c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c55c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c55c)" * (cast_expression "(code **)(pcVar9 + 0x4c55c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c55c)" ( (binary_expression "pcVar9 + 0x4c55c" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar2 = iVar6 * 4;" (assignment_expression "iVar2 = iVar6 * 4" identifier = (binary_expression "iVar6 * 4" identifier * number_literal)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);" (call_expression "(**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c88c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c88c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c88c)" * (cast_expression "(code **)(pcVar9 + 0x4c88c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c88c)" ( (binary_expression "pcVar9 + 0x4c88c" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4)" ( identifier , (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2)" * (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar1 + 0x1024) + iVar2)" ( (binary_expression "*(int *)(iVar1 + 0x1024) + iVar2" (pointer_expression "*(int *)(iVar1 + 0x1024)" * (cast_expression "(int *)(iVar1 + 0x1024)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1024)" ( (binary_expression "iVar1 + 0x1024" identifier + number_literal) )))) + identifier) )))) , identifier ))) ;) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1)" identifier = (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001008 + iVar1)" ( (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" & identifier) + identifier) ))))) ;) (expression_statement "iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);" (assignment_expression "iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4c55c))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c55c))" ( (pointer_expression "**(code **)(pcVar9 + 0x4c55c)" * (pointer_expression "*(code **)(pcVar9 + 0x4c55c)" * (cast_expression "(code **)(pcVar9 + 0x4c55c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4c55c)" ( (binary_expression "pcVar9 + 0x4c55c" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4" identifier = (binary_expression "iVar4 + *(int *)(iVar2 + 0x2c0) * 4" identifier + (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" * (cast_expression "(int *)(iVar2 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x2c0)" ( (binary_expression "iVar2 + 0x2c0" identifier + number_literal) )))) * number_literal))) ;) }) while (parenthesized_expression "(iVar6 < *(int *)(iVar1 + 0x100c))" ( (binary_expression "iVar6 < *(int *)(iVar1 + 0x100c)" identifier < (pointer_expression "*(int *)(iVar1 + 0x100c)" * (cast_expression "(int *)(iVar1 + 0x100c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x100c)" ( (binary_expression "iVar1 + 0x100c" identifier + number_literal) ))))) )) ;) })) (expression_statement "iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" identifier = (call_expression "(**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4ca34))" ( (pointer_expression "**(code **)(pcVar9 + 0x4ca34)" * (pointer_expression "*(code **)(pcVar9 + 0x4ca34)" * (cast_expression "(code **)(pcVar9 + 0x4ca34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4ca34)" ( (binary_expression "pcVar9 + 0x4ca34" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" ( identifier , (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" * (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00001004 + iVar1)" ( (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" & identifier) + identifier) )))) )))) ;) (return_statement "return (uint)(iVar1 != 0);" return (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) ))) ;) })) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" identifier = (call_expression "(**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cad4))" ( (pointer_expression "**(code **)(pcVar9 + 0x4cad4)" * (pointer_expression "*(code **)(pcVar9 + 0x4cad4)" * (cast_expression "(code **)(pcVar9 + 0x4cad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x4cad4)" ( (binary_expression "pcVar9 + 0x4cad4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" ( (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x3504" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" * (cast_expression "(int *)(pcVar9 + 0x4c3e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar9 + 0x4c3e4)" ( (binary_expression "pcVar9 + 0x4c3e4" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return uVar3;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (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 (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = 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 & IDENT) + IDENT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , 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) )))) + IDENT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( 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 IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < 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 (pointer_expression * IDENT) = IDENT) ;) (return_statement return IDENT ;) })) })) (return_statement return LIT ;) })) (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) ))) ;) })) (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 ( IDENT , (binary_expression IDENT + LIT) , LIT , (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 (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 (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) , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT)) ;) (return_statement return (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) , (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) ))) ;) })) (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 (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 = (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) )))) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (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 (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) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (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 , (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) )))) + IDENT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) )))) ;) (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))) ;) })) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) )))) ;) (return_statement return IDENT ;) })))
(function_definition "uint PixelGetPreviousIteratorRow(int param_1,int *param_2)\n\n{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}" (type_identifier "uint") (function_declarator "PixelGetPreviousIteratorRow(int param_1,int *param_2)" (identifier "PixelGetPreviousIteratorRow") (parameter_list "(int param_1,int *param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  uint uVar3;\n  int iVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  code *pcVar9;\n  \n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }\n  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;\n  puVar8 = PTR___assert_fail_0014f720;\n  (*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }\n  pcVar9 = *(code **)(puVar8 + 0x4cbac);\n  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;\n  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }\n  uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n  return uVar3;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (if_statement "if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }\n    (*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x102c) == -0x54535255) {\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x102c) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x102c)" (* "*") (cast_expression "(int *)(param_1 + 0x102c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x102c)" (( "(") (binary_expression "param_1 + 0x102c" (identifier "param_1") (+ "+") (number_literal "0x102c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }\n      iVar1 = *(int *)(param_1 + 0x101c);\n      *param_2 = 0;\n      if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }\n      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);\n      if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }\n      return 0;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x1028) != 0) {\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1028) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1028) != 0" (pointer_expression "*(int *)(param_1 + 0x1028)" (* "*") (cast_expression "(int *)(param_1 + 0x1028)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1028)" (( "(") (binary_expression "param_1 + 0x1028" (identifier "param_1") (+ "+") (number_literal "0x1028")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);\n      }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_0014f488)\n                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_0014f488)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_0014f488" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_0014f488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_0014f488"))) () ")")) (argument_list "(0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,\n                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,\n                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x34e8")) (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3680" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x3680")) (, ",") (number_literal "0x2e2") (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + -0x131c" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "-0x131c")) (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar1 = *(int *)(param_1 + 0x101c);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x101c)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(param_1 + 0x101c)" (* "*") (cast_expression "(int *)(param_1 + 0x101c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x101c)" (( "(") (binary_expression "param_1 + 0x101c" (identifier "param_1") (+ "+") (number_literal "0x101c")) () ")"))))) (; ";")) (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar1 != 0) {\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;\n      }" ({ "{") (expression_statement "*(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;" (assignment_expression "*(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1" (pointer_expression "*(int *)(param_1 + 0x1020)" (* "*") (cast_expression "(int *)(param_1 + 0x1020)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1020)" (( "(") (binary_expression "param_1 + 0x1020" (identifier "param_1") (+ "+") (number_literal "0x1020")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x1020) + -1" (pointer_expression "*(int *)(param_1 + 0x1020)" (* "*") (cast_expression "(int *)(param_1 + 0x1020)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1020)" (( "(") (binary_expression "param_1 + 0x1020" (identifier "param_1") (+ "+") (number_literal "0x1020")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (} "}"))) (expression_statement "iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);" (assignment_expression "iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1)" (parenthesized_expression "(*(code *)PTR_PixelSetIteratorRow_0014f7f4)" (( "(") (pointer_expression "*(code *)PTR_PixelSetIteratorRow_0014f7f4" (* "*") (cast_expression "(code *)PTR_PixelSetIteratorRow_0014f7f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_PixelSetIteratorRow_0014f7f4"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));\n        if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }\n      }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1));" (assignment_expression "iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)\n                          (*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" (parenthesized_expression "(*(code *)PTR_GetCacheViewVirtualPixels_0014f760)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewVirtualPixels_0014f760" (* "*") (cast_expression "(code *)PTR_GetCacheViewVirtualPixels_0014f760" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewVirtualPixels_0014f760"))) () ")")) (argument_list "(*(undefined4 *)(&DAT_00001008 + param_1),\n                           *(undefined4 *)(&DAT_00001014 + param_1),\n                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),\n                           *(undefined4 *)(param_1 + 0x100c),1,\n                           *(undefined4 *)(&DAT_00001004 + param_1))" (( "(") (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + param_1)" (( "(") (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "param_1")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001014 + param_1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001014 + param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001014 + param_1)" (( "(") (binary_expression "&DAT_00001014 + param_1" (pointer_expression "&DAT_00001014" (& "&") (identifier "DAT_00001014")) (+ "+") (identifier "param_1")) () ")")))) (, ",") (binary_expression "*(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + param_1)" (* "*") (cast_expression "(int *)(&DAT_00001018 + param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001018 + param_1)" (( "(") (binary_expression "&DAT_00001018 + param_1" (pointer_expression "&DAT_00001018" (& "&") (identifier "DAT_00001018")) (+ "+") (identifier "param_1")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1020)" (* "*") (cast_expression "(int *)(param_1 + 0x1020)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1020)" (( "(") (binary_expression "param_1 + 0x1020" (identifier "param_1") (+ "+") (number_literal "0x1020")) () ")"))))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x100c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x100c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x100c)" (( "(") (binary_expression "param_1 + 0x100c" (identifier "param_1") (+ "+") (number_literal "0x100c")) () ")")))) (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001004 + param_1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001004 + param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001004 + param_1)" (( "(") (binary_expression "&DAT_00001004 + param_1" (pointer_expression "&DAT_00001004" (& "&") (identifier "DAT_00001004")) (+ "+") (identifier "param_1")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar4 = *(int *)(param_1 + 0x100c);\n          iVar6 = 0;\n          if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }\n          uVar3 = *(uint *)(param_1 + 0x1024);\n          *param_2 = iVar4;\n          return uVar3;\n        }" ({ "{") (expression_statement "iVar4 = *(int *)(param_1 + 0x100c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x100c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x100c)" (* "*") (cast_expression "(int *)(param_1 + 0x100c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x100c)" (( "(") (binary_expression "param_1 + 0x100c" (identifier "param_1") (+ "+") (number_literal "0x100c")) () ")"))))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < iVar4) {\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n            do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);\n          }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + param_1)" (( "(") (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "param_1")) () ")"))))) (; ";")) (do_statement "do {\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            } while (iVar6 < iVar4);" (do "do") (compound_statement "{\n              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = iVar6 * 4;\n              iVar6 = iVar6 + 1;\n              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));\n              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);\n              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);\n              iVar4 = *(int *)(param_1 + 0x100c);\n              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;\n            }" ({ "{") (expression_statement "uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);" (assignment_expression "uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" (* "*") (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewImage_0014f1a8"))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar4 = iVar6 * 4;" (assignment_expression "iVar4 = iVar6 * 4" (identifier "iVar4") (= "=") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));" (call_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)\n                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4))" (parenthesized_expression "(*(code *)PTR_PixelSetQuantumPixel_0014f1cc)" (( "(") (pointer_expression "*(code *)PTR_PixelSetQuantumPixel_0014f1cc" (* "*") (cast_expression "(code *)PTR_PixelSetQuantumPixel_0014f1cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_PixelSetQuantumPixel_0014f1cc"))) () ")")) (argument_list "(uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4))" (( "(") (identifier "uVar7") (, ",") (identifier "iVar1") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x1024) + iVar4)" (( "(") (binary_expression "*(int *)(param_1 + 0x1024) + iVar4" (pointer_expression "*(int *)(param_1 + 0x1024)" (* "*") (cast_expression "(int *)(param_1 + 0x1024)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1024)" (( "(") (binary_expression "param_1 + 0x1024" (identifier "param_1") (+ "+") (number_literal "0x1024")) () ")")))) (+ "+") (identifier "iVar4")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + param_1)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001008 + param_1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + param_1)" (( "(") (binary_expression "&DAT_00001008 + param_1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "param_1")) () ")"))))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);" (assignment_expression "iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7)" (parenthesized_expression "(*(code *)PTR_GetCacheViewImage_0014f1a8)" (( "(") (pointer_expression "*(code *)PTR_GetCacheViewImage_0014f1a8" (* "*") (cast_expression "(code *)PTR_GetCacheViewImage_0014f1a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_GetCacheViewImage_0014f1a8"))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0x100c);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x100c)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x100c)" (* "*") (cast_expression "(int *)(param_1 + 0x100c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x100c)" (( "(") (binary_expression "param_1 + 0x100c" (identifier "param_1") (+ "+") (number_literal "0x100c")) () ")"))))) (; ";")) (expression_statement "iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4" (identifier "iVar1") (= "=") (binary_expression "iVar1 + *(int *)(iVar2 + 0x2c0) * 4" (identifier "iVar1") (+ "+") (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c0)" (( "(") (binary_expression "iVar2 + 0x2c0" (identifier "iVar2") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < iVar4)" (( "(") (binary_expression "iVar6 < iVar4" (identifier "iVar6") (< "<") (identifier "iVar4")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar3 = *(uint *)(param_1 + 0x1024);" (assignment_expression "uVar3 = *(uint *)(param_1 + 0x1024)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(param_1 + 0x1024)" (* "*") (cast_expression "(uint *)(param_1 + 0x1024)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1024)" (( "(") (binary_expression "param_1 + 0x1024" (identifier "param_1") (+ "+") (number_literal "0x1024")) () ")"))))) (; ";")) (expression_statement "*param_2 = iVar4;" (assignment_expression "*param_2 = iVar4" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "iVar4")) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0014f720" (* "*") (cast_expression "(code *)PTR___assert_fail_0014f720" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0014f720"))) () ")")) (argument_list "(PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,\n               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (( "(") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x3530" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x3530")) (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x34e8")) (, ",") (number_literal "0x2e0") (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x369c")) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;" (assignment_expression "puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" (identifier "puVar5") (= "=") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x355c" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x355c"))) (; ";")) (expression_statement "puVar8 = PTR___assert_fail_0014f720;" (assignment_expression "puVar8 = PTR___assert_fail_0014f720" (identifier "puVar8") (= "=") (identifier "PTR___assert_fail_0014f720")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);" (call_expression "(*(code *)PTR___assert_fail_0014f720)\n            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (parenthesized_expression "(*(code *)PTR___assert_fail_0014f720)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_0014f720" (* "*") (cast_expression "(code *)PTR___assert_fail_0014f720" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_0014f720"))) () ")")) (argument_list "(puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,\n             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c)" (( "(") (identifier "puVar5") (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x34e8")) (, ",") (number_literal "0x2df") (, ",") (binary_expression "PTR_s_the_image__define_format_option_d_0014f030 + 0x369c" (identifier "PTR_s_the_image__define_format_option_d_0014f030") (+ "+") (number_literal "0x369c")) () ")"))) (; ";")) (if_statement "if (puVar5 != (undefined *)0x0) {\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }" (if "if") (parenthesized_expression "(puVar5 != (undefined *)0x0)" (( "(") (binary_expression "puVar5 != (undefined *)0x0" (identifier "puVar5") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }\n    (**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);\n  }" ({ "{") (if_statement "if (*(int *)(puVar5 + 0x102c) == -0x54535255) {\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar5 + 0x102c) == -0x54535255)" (( "(") (binary_expression "*(int *)(puVar5 + 0x102c) == -0x54535255" (pointer_expression "*(int *)(puVar5 + 0x102c)" (* "*") (cast_expression "(int *)(puVar5 + 0x102c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x102c)" (( "(") (binary_expression "puVar5 + 0x102c" (identifier "puVar5") (+ "+") (number_literal "0x102c")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }\n      *(undefined4 *)(puVar5 + 0x101c) = 0;\n      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;\n      return *(int *)(puVar5 + 0x1010) - 1U;\n    }" ({ "{") (if_statement "if (*(int *)(puVar5 + 0x1028) != 0) {\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar5 + 0x1028) != 0)" (( "(") (binary_expression "*(int *)(puVar5 + 0x1028) != 0" (pointer_expression "*(int *)(puVar5 + 0x1028)" (* "*") (cast_expression "(int *)(puVar5 + 0x1028)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1028)" (( "(") (binary_expression "puVar5 + 0x1028" (identifier "puVar5") (+ "+") (number_literal "0x1028")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);\n      }" ({ "{") (expression_statement "(**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);" (call_expression "(**(code **)(puVar8 + 0x4c914))\n                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c)" (parenthesized_expression "(**(code **)(puVar8 + 0x4c914))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x4c914)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x4c914)" (* "*") (cast_expression "(code **)(puVar8 + 0x4c914)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x4c914)" (( "(") (binary_expression "puVar8 + 0x4c914" (identifier "puVar8") (+ "+") (number_literal "0x4c914")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,\n                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x34e8")) (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35c8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x35c8")) (, ",") (number_literal "0x379") (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + -0x131c" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "-0x131c")) (, ",") (binary_expression "puVar5 + 4" (identifier "puVar5") (+ "+") (number_literal "4")) (, ",") (binary_expression "puVar8 + 0x5448c" (identifier "puVar8") (+ "+") (number_literal "0x5448c")) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar5 + 0x101c) = 0;" (assignment_expression "*(undefined4 *)(puVar5 + 0x101c) = 0" (pointer_expression "*(undefined4 *)(puVar5 + 0x101c)" (* "*") (cast_expression "(undefined4 *)(puVar5 + 0x101c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x101c)" (( "(") (binary_expression "puVar5 + 0x101c" (identifier "puVar5") (+ "+") (number_literal "0x101c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;" (assignment_expression "*(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(uint *)(puVar5 + 0x1020)" (* "*") (cast_expression "(uint *)(puVar5 + 0x1020)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1020)" (( "(") (binary_expression "puVar5 + 0x1020" (identifier "puVar5") (+ "+") (number_literal "0x1020")) () ")")))) (= "=") (binary_expression "*(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(int *)(puVar5 + 0x1010)" (* "*") (cast_expression "(int *)(puVar5 + 0x1010)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1010)" (( "(") (binary_expression "puVar5 + 0x1010" (identifier "puVar5") (+ "+") (number_literal "0x1010")) () ")")))) (- "-") (number_literal "1U"))) (; ";")) (return_statement "return *(int *)(puVar5 + 0x1010) - 1U;" (return "return") (binary_expression "*(int *)(puVar5 + 0x1010) - 1U" (pointer_expression "*(int *)(puVar5 + 0x1010)" (* "*") (cast_expression "(int *)(puVar5 + 0x1010)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + 0x1010)" (( "(") (binary_expression "puVar5 + 0x1010" (identifier "puVar5") (+ "+") (number_literal "0x1010")) () ")")))) (- "-") (number_literal "1U")) (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);" (call_expression "(**(code **)(puVar8 + 0x4cbac))\n              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(**(code **)(puVar8 + 0x4cbac))" (( "(") (pointer_expression "**(code **)(puVar8 + 0x4cbac)" (* "*") (pointer_expression "*(code **)(puVar8 + 0x4cbac)" (* "*") (cast_expression "(code **)(puVar8 + 0x4cbac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x4cbac)" (( "(") (binary_expression "puVar8 + 0x4cbac" (identifier "puVar8") (+ "+") (number_literal "0x4cbac")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,\n               *(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (( "(") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x3530" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x3530")) (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x34e8")) (, ",") (number_literal "0x377") (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x35e0")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar9 = *(code **)(puVar8 + 0x4cbac);" (assignment_expression "pcVar9 = *(code **)(puVar8 + 0x4cbac)" (identifier "pcVar9") (= "=") (pointer_expression "*(code **)(puVar8 + 0x4cbac)" (* "*") (cast_expression "(code **)(puVar8 + 0x4cbac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x4cbac)" (( "(") (binary_expression "puVar8 + 0x4cbac" (identifier "puVar8") (+ "+") (number_literal "0x4cbac")) () ")"))))) (; ";")) (expression_statement "iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;" (assignment_expression "iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c" (identifier "iVar1") (= "=") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x355c" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x355c"))) (; ";")) (expression_statement "(*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);" (call_expression "(*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0)" (( "(") (identifier "iVar1") (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x34e8" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x34e8")) (, ",") (number_literal "0x376") (, ",") (binary_expression "*(int *)(puVar8 + 0x4c4bc) + 0x35e0" (pointer_expression "*(int *)(puVar8 + 0x4c4bc)" (* "*") (cast_expression "(int *)(puVar8 + 0x4c4bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x4c4bc)" (( "(") (binary_expression "puVar8 + 0x4c4bc" (identifier "puVar8") (+ "+") (number_literal "0x4c4bc")) () ")")))) (+ "+") (number_literal "0x35e0")) () ")"))) (; ";")) (if_statement "if (iVar1 != 0) {\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }\n    if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }\n    iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));\n    if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }\n    return 0;\n  }" ({ "{") (if_statement "if (*(int *)(iVar1 + 0x102c) != -0x54535255) {\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x102c) != -0x54535255)" (( "(") (binary_expression "*(int *)(iVar1 + 0x102c) != -0x54535255" (pointer_expression "*(int *)(iVar1 + 0x102c)" (* "*") (cast_expression "(int *)(iVar1 + 0x102c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x102c)" (( "(") (binary_expression "iVar1 + 0x102c" (identifier "iVar1") (+ "+") (number_literal "0x102c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);\n      return uVar3;\n    }" ({ "{") (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4cad4))\n                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cad4))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4cad4)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4cad4)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4cad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4cad4)" (( "(") (binary_expression "pcVar9 + 0x4cad4" (identifier "pcVar9") (+ "+") (number_literal "0x4cad4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,\n                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x3530" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x3530")) (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x34e8")) (, ",") (number_literal "0x3a0") (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x35b4")) () ")")))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar1 + 0x1028) != 0) {\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar1 + 0x1028) != 0)" (( "(") (binary_expression "*(int *)(iVar1 + 0x1028) != 0" (pointer_expression "*(int *)(iVar1 + 0x1028)" (* "*") (cast_expression "(int *)(iVar1 + 0x1028)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1028)" (( "(") (binary_expression "iVar1 + 0x1028" (identifier "iVar1") (+ "+") (number_literal "0x1028")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);" (call_expression "(**(code **)(pcVar9 + 0x4c83c))\n                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c83c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4c83c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4c83c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4c83c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4c83c)" (( "(") (binary_expression "pcVar9 + 0x4c83c" (identifier "pcVar9") (+ "+") (number_literal "0x4c83c")) () ")"))))) () ")")) (argument_list "(0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,\n                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x34e8")) (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35a0" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x35a0")) (, ",") (number_literal "0x3a2") (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + -0x131c" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "-0x131c")) (, ",") (binary_expression "iVar1 + 4" (identifier "iVar1") (+ "+") (number_literal "4")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar4 = (**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4c920))\n                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c920))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4c920)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4c920)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4c920)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4c920)" (( "(") (binary_expression "pcVar9 + 0x4c920" (identifier "pcVar9") (+ "+") (number_literal "0x4c920")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar1),1,\n                       *(undefined4 *)(&DAT_00001004 + iVar1))" (( "(") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar1)" (( "(") (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar1")) () ")")))) (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001004 + iVar1)" (( "(") (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" (& "&") (identifier "DAT_00001004")) (+ "+") (identifier "iVar1")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));\n      if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }\n    }" ({ "{") (expression_statement "iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar4 = (**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4cb0c))\n                        (*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cb0c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4cb0c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4cb0c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4cb0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4cb0c)" (( "(") (binary_expression "pcVar9 + 0x4cb0c" (identifier "pcVar9") (+ "+") (number_literal "0x4cb0c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(&DAT_00001008 + iVar1),\n                         *(undefined4 *)(&DAT_00001014 + iVar1),\n                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),\n                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1))" (( "(") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar1)" (( "(") (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar1")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001014 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001014 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001014 + iVar1)" (( "(") (binary_expression "&DAT_00001014 + iVar1" (pointer_expression "&DAT_00001014" (& "&") (identifier "DAT_00001014")) (+ "+") (identifier "iVar1")) () ")")))) (, ",") (binary_expression "*(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020)" (pointer_expression "*(int *)(&DAT_00001018 + iVar1)" (* "*") (cast_expression "(int *)(&DAT_00001018 + iVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001018 + iVar1)" (( "(") (binary_expression "&DAT_00001018 + iVar1" (pointer_expression "&DAT_00001018" (& "&") (identifier "DAT_00001018")) (+ "+") (identifier "iVar1")) () ")")))) (+ "+") (pointer_expression "*(int *)(iVar1 + 0x1020)" (* "*") (cast_expression "(int *)(iVar1 + 0x1020)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1020)" (( "(") (binary_expression "iVar1 + 0x1020" (identifier "iVar1") (+ "+") (number_literal "0x1020")) () ")"))))) (, ",") (pointer_expression "*(undefined4 *)(iVar1 + 0x100c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x100c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x100c)" (( "(") (binary_expression "iVar1 + 0x100c" (identifier "iVar1") (+ "+") (number_literal "0x100c")) () ")")))) (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001004 + iVar1)" (( "(") (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" (& "&") (identifier "DAT_00001004")) (+ "+") (identifier "iVar1")) () ")")))) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) {\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n        if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }\n        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));\n        return (uint)(iVar1 != 0);\n      }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar1)" (( "(") (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar1")) () ")"))))) (; ";")) (if_statement "if (0 < *(int *)(iVar1 + 0x100c)) {\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar1 + 0x100c))" (( "(") (binary_expression "0 < *(int *)(iVar1 + 0x100c)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar1 + 0x100c)" (* "*") (cast_expression "(int *)(iVar1 + 0x100c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x100c)" (( "(") (binary_expression "iVar1 + 0x100c" (identifier "iVar1") (+ "+") (number_literal "0x100c")) () ")"))))) () ")")) (compound_statement "{\n          iVar6 = 0;\n          do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));\n        }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          } while (iVar6 < *(int *)(iVar1 + 0x100c));" (do "do") (compound_statement "{\n            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar2 = iVar6 * 4;\n            iVar6 = iVar6 + 1;\n            (**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);\n            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);\n            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);\n            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;\n          }" ({ "{") (expression_statement "uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);" (assignment_expression "uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4c55c))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c55c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4c55c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4c55c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4c55c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4c55c)" (( "(") (binary_expression "pcVar9 + 0x4c55c" (identifier "pcVar9") (+ "+") (number_literal "0x4c55c")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar2 = iVar6 * 4;" (assignment_expression "iVar2 = iVar6 * 4" (identifier "iVar2") (= "=") (binary_expression "iVar6 * 4" (identifier "iVar6") (* "*") (number_literal "4"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);" (call_expression "(**(code **)(pcVar9 + 0x4c88c))\n                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c88c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4c88c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4c88c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4c88c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4c88c)" (( "(") (binary_expression "pcVar9 + 0x4c88c" (identifier "pcVar9") (+ "+") (number_literal "0x4c88c")) () ")"))))) () ")")) (argument_list "(uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4)" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2)" (* "*") (cast_expression "(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar1 + 0x1024) + iVar2)" (( "(") (binary_expression "*(int *)(iVar1 + 0x1024) + iVar2" (pointer_expression "*(int *)(iVar1 + 0x1024)" (* "*") (cast_expression "(int *)(iVar1 + 0x1024)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1024)" (( "(") (binary_expression "iVar1 + 0x1024" (identifier "iVar1") (+ "+") (number_literal "0x1024")) () ")")))) (+ "+") (identifier "iVar2")) () ")")))) (, ",") (identifier "iVar4") () ")"))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);" (assignment_expression "uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1)" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)(&DAT_00001008 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001008 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001008 + iVar1)" (( "(") (binary_expression "&DAT_00001008 + iVar1" (pointer_expression "&DAT_00001008" (& "&") (identifier "DAT_00001008")) (+ "+") (identifier "iVar1")) () ")"))))) (; ";")) (expression_statement "iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);" (assignment_expression "iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7)" (identifier "iVar2") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4c55c))(uVar7)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4c55c))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4c55c)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4c55c)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4c55c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4c55c)" (( "(") (binary_expression "pcVar9 + 0x4c55c" (identifier "pcVar9") (+ "+") (number_literal "0x4c55c")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;" (assignment_expression "iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4" (identifier "iVar4") (= "=") (binary_expression "iVar4 + *(int *)(iVar2 + 0x2c0) * 4" (identifier "iVar4") (+ "+") (binary_expression "*(int *)(iVar2 + 0x2c0) * 4" (pointer_expression "*(int *)(iVar2 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar2 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x2c0)" (( "(") (binary_expression "iVar2 + 0x2c0" (identifier "iVar2") (+ "+") (number_literal "0x2c0")) () ")")))) (* "*") (number_literal "4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < *(int *)(iVar1 + 0x100c))" (( "(") (binary_expression "iVar6 < *(int *)(iVar1 + 0x100c)" (identifier "iVar6") (< "<") (pointer_expression "*(int *)(iVar1 + 0x100c)" (* "*") (cast_expression "(int *)(iVar1 + 0x100c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x100c)" (( "(") (binary_expression "iVar1 + 0x100c" (identifier "iVar1") (+ "+") (number_literal "0x100c")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));" (assignment_expression "iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" (parenthesized_expression "(**(code **)(pcVar9 + 0x4ca34))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4ca34)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4ca34)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4ca34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4ca34)" (( "(") (binary_expression "pcVar9 + 0x4ca34" (identifier "pcVar9") (+ "+") (number_literal "0x4ca34")) () ")"))))) () ")")) (argument_list "(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)(&DAT_00001004 + iVar1)" (* "*") (cast_expression "(undefined4 *)(&DAT_00001004 + iVar1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00001004 + iVar1)" (( "(") (binary_expression "&DAT_00001004 + iVar1" (pointer_expression "&DAT_00001004" (& "&") (identifier "DAT_00001004")) (+ "+") (identifier "iVar1")) () ")")))) () ")")))) (; ";")) (return_statement "return (uint)(iVar1 != 0);" (return "return") (call_expression "(uint)(iVar1 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);" (assignment_expression "uVar3 = (**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (identifier "uVar3") (= "=") (call_expression "(**(code **)(pcVar9 + 0x4cad4))\n                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (parenthesized_expression "(**(code **)(pcVar9 + 0x4cad4))" (( "(") (pointer_expression "**(code **)(pcVar9 + 0x4cad4)" (* "*") (pointer_expression "*(code **)(pcVar9 + 0x4cad4)" (* "*") (cast_expression "(code **)(pcVar9 + 0x4cad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar9 + 0x4cad4)" (( "(") (binary_expression "pcVar9 + 0x4cad4" (identifier "pcVar9") (+ "+") (number_literal "0x4cad4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,\n                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4)" (( "(") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x3504" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x3504")) (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x34e8" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x34e8")) (, ",") (number_literal "0x39f") (, ",") (binary_expression "*(int *)(pcVar9 + 0x4c3e4) + 0x35b4" (pointer_expression "*(int *)(pcVar9 + 0x4c3e4)" (* "*") (cast_expression "(int *)(pcVar9 + 0x4c3e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar9 + 0x4c3e4)" (( "(") (binary_expression "pcVar9 + 0x4c3e4" (identifier "pcVar9") (+ "+") (number_literal "0x4c3e4")) () ")")))) (+ "+") (number_literal "0x35b4")) () ")")))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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 (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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 (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_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: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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)))))) (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))))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (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: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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)))))) condition: (parenthesized_expression (binary_expression left: (identifier) 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: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (identifier)))))) (return_statement (number_literal)))) (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))))))) (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 (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (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 (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: (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)) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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)))) (return_statement (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)) (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))))))) (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 (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) (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))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (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)))))) (return_statement (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (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: (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)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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)))))) (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))))) (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (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 (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) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier))))) (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: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (return_statement (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))))) (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)))))) (return_statement (identifier)))))

uint MASKED(int param_1,int *param_2)

{
  int iVar1;
  int iVar2;
  uint uVar3;
  int iVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 uVar7;
  undefined *puVar8;
  code *pcVar9;
  
  if (param_1 != 0) {
    if (*(int *)(param_1 + 0x102c) == -0x54535255) {
      if (*(int *)(param_1 + 0x1028) != 0) {
        (*(code *)PTR_LogMagickEvent_0014f488)
                  (0x40000,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,
                   PTR_s_the_image__define_format_option_d_0014f030 + 0x3680,0x2e2,
                   PTR_s_the_image__define_format_option_d_0014f030 + -0x131c,param_1 + 4);
      }
      iVar1 = *(int *)(param_1 + 0x101c);
      *param_2 = 0;
      if (iVar1 != 0) {
        *(int *)(param_1 + 0x1020) = *(int *)(param_1 + 0x1020) + -1;
      }
      iVar1 = (*(code *)PTR_PixelSetIteratorRow_0014f7f4)(param_1);
      if (iVar1 != 0) {
        iVar1 = (*(code *)PTR_GetCacheViewVirtualPixels_0014f760)
                          (*(undefined4 *)(&DAT_00001008 + param_1),
                           *(undefined4 *)(&DAT_00001014 + param_1),
                           *(int *)(&DAT_00001018 + param_1) + *(int *)(param_1 + 0x1020),
                           *(undefined4 *)(param_1 + 0x100c),1,
                           *(undefined4 *)(&DAT_00001004 + param_1));
        if (iVar1 != 0) {
          iVar4 = *(int *)(param_1 + 0x100c);
          iVar6 = 0;
          if (0 < iVar4) {
            uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);
            do {
              uVar7 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);
              iVar4 = iVar6 * 4;
              iVar6 = iVar6 + 1;
              (*(code *)PTR_PixelSetQuantumPixel_0014f1cc)
                        (uVar7,iVar1,*(undefined4 *)(*(int *)(param_1 + 0x1024) + iVar4));
              uVar7 = *(undefined4 *)(&DAT_00001008 + param_1);
              iVar2 = (*(code *)PTR_GetCacheViewImage_0014f1a8)(uVar7);
              iVar4 = *(int *)(param_1 + 0x100c);
              iVar1 = iVar1 + *(int *)(iVar2 + 0x2c0) * 4;
            } while (iVar6 < iVar4);
          }
          uVar3 = *(uint *)(param_1 + 0x1024);
          *param_2 = iVar4;
          return uVar3;
        }
      }
      return 0;
    }
    (*(code *)PTR___assert_fail_0014f720)
              (PTR_s_the_image__define_format_option_d_0014f030 + 0x3530,
               PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2e0,
               PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);
  }
  puVar5 = PTR_s_the_image__define_format_option_d_0014f030 + 0x355c;
  puVar8 = PTR___assert_fail_0014f720;
  (*(code *)PTR___assert_fail_0014f720)
            (puVar5,PTR_s_the_image__define_format_option_d_0014f030 + 0x34e8,0x2df,
             PTR_s_the_image__define_format_option_d_0014f030 + 0x369c);
  if (puVar5 != (undefined *)0x0) {
    if (*(int *)(puVar5 + 0x102c) == -0x54535255) {
      if (*(int *)(puVar5 + 0x1028) != 0) {
        (**(code **)(puVar8 + 0x4c914))
                  (0x40000,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,*(int *)(puVar8 + 0x4c4bc) + 0x35c8,
                   0x379,*(int *)(puVar8 + 0x4c4bc) + -0x131c,puVar5 + 4,puVar8 + 0x5448c);
      }
      *(undefined4 *)(puVar5 + 0x101c) = 0;
      *(uint *)(puVar5 + 0x1020) = *(int *)(puVar5 + 0x1010) - 1U;
      return *(int *)(puVar5 + 0x1010) - 1U;
    }
    (**(code **)(puVar8 + 0x4cbac))
              (*(int *)(puVar8 + 0x4c4bc) + 0x3530,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x377,
               *(int *)(puVar8 + 0x4c4bc) + 0x35e0);
  }
  pcVar9 = *(code **)(puVar8 + 0x4cbac);
  iVar1 = *(int *)(puVar8 + 0x4c4bc) + 0x355c;
  (*pcVar9)(iVar1,*(int *)(puVar8 + 0x4c4bc) + 0x34e8,0x376,*(int *)(puVar8 + 0x4c4bc) + 0x35e0);
  if (iVar1 != 0) {
    if (*(int *)(iVar1 + 0x102c) != -0x54535255) {
      uVar3 = (**(code **)(pcVar9 + 0x4cad4))
                        (*(int *)(pcVar9 + 0x4c3e4) + 0x3530,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,
                         0x3a0,*(int *)(pcVar9 + 0x4c3e4) + 0x35b4);
      return uVar3;
    }
    if (*(int *)(iVar1 + 0x1028) != 0) {
      (**(code **)(pcVar9 + 0x4c83c))
                (0x40000,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,*(int *)(pcVar9 + 0x4c3e4) + 0x35a0,
                 0x3a2,*(int *)(pcVar9 + 0x4c3e4) + -0x131c,iVar1 + 4);
    }
    iVar4 = (**(code **)(pcVar9 + 0x4c920))
                      (*(undefined4 *)(&DAT_00001008 + iVar1),1,
                       *(undefined4 *)(&DAT_00001004 + iVar1));
    if (iVar4 != 0) {
      iVar4 = (**(code **)(pcVar9 + 0x4cb0c))
                        (*(undefined4 *)(&DAT_00001008 + iVar1),
                         *(undefined4 *)(&DAT_00001014 + iVar1),
                         *(int *)(&DAT_00001018 + iVar1) + *(int *)(iVar1 + 0x1020),
                         *(undefined4 *)(iVar1 + 0x100c),1,*(undefined4 *)(&DAT_00001004 + iVar1));
      if (iVar4 != 0) {
        uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);
        if (0 < *(int *)(iVar1 + 0x100c)) {
          iVar6 = 0;
          do {
            uVar7 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);
            iVar2 = iVar6 * 4;
            iVar6 = iVar6 + 1;
            (**(code **)(pcVar9 + 0x4c88c))
                      (uVar7,*(undefined4 *)(*(int *)(iVar1 + 0x1024) + iVar2),iVar4);
            uVar7 = *(undefined4 *)(&DAT_00001008 + iVar1);
            iVar2 = (**(code **)(pcVar9 + 0x4c55c))(uVar7);
            iVar4 = iVar4 + *(int *)(iVar2 + 0x2c0) * 4;
          } while (iVar6 < *(int *)(iVar1 + 0x100c));
        }
        iVar1 = (**(code **)(pcVar9 + 0x4ca34))(uVar7,*(undefined4 *)(&DAT_00001004 + iVar1));
        return (uint)(iVar1 != 0);
      }
    }
    return 0;
  }
  uVar3 = (**(code **)(pcVar9 + 0x4cad4))
                    (*(int *)(pcVar9 + 0x4c3e4) + 0x3504,*(int *)(pcVar9 + 0x4c3e4) + 0x34e8,0x39f,
                     *(int *)(pcVar9 + 0x4c3e4) + 0x35b4);
  return uVar3;
}

