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

CacheView * DestroyCacheView(CacheView *cache_view)

{
  NexusInfo **ppNVar1;
  Image *pIVar2;
  CacheView *pCVar3;
  int iVar4;
  float *pfVar5;
  int *piVar6;
  float *pfVar7;
  undefined4 uVar8;
  int iVar9;
  undefined1 *puVar10;
  float *pfVar11;
  int iVar12;
  undefined *UNRECOVERED_JUMPTABLE;
  code *pcVar13;
  code *pcVar14;
  float fVar16;
  double dVar15;
  double dVar17;
  double dVar18;
  double dVar19;
  MagickSizeType MVar20;
  undefined4 in_stack_fffffec0;
  
  if (cache_view != (CacheView *)0x0) {
    if (cache_view->signature == 0xabacadab) {
      if (cache_view->debug != MagickFalse) {
        (*(code *)PTR_LogMagickEvent_003a91e0)
                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,
                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);
      }
      if (cache_view->nexus_info != (NexusInfo **)0x0) {
        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);
        cache_view->nexus_info = ppNVar1;
      }
      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);
      cache_view->image = pIVar2;
      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;
      cache_view->signature = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);
      return pCVar3;
    }
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);
  }
  piVar6 = (int *)(PTR_LAB_003a88e0 + 0x3740);
  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)
            (piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);
  iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();
  if (piVar6 == (int *)0x0) {
    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);
LAB_00059228:
    iVar9 = iVar9 + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);
LAB_00059248:
    iVar9 = iVar9 + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);
  }
  else {
    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);
    if (piVar6[5] == -0x54535255) {
      if (*(int *)(*piVar6 + 0x2d4) != 0) {
        if (iVar4 < piVar6[2]) {
          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);
        }
        goto LAB_00059228;
      }
      goto LAB_00059248;
    }
  }
  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);
  piVar6 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);
  (*pcVar13)(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c);
  if (piVar6 != (int *)0x0) {
    if (piVar6[5] == -0x54535255) {
      iVar4 = *piVar6;
      if (piVar6[4] != 0) {
        (**(code **)(pcVar13 + 0x34ff5c))
                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,
                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,
                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);
        iVar4 = *piVar6;
      }
      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));
      return pCVar3;
    }
    (**(code **)(pcVar13 + 0x350384))
              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,
               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);
  }
  pcVar14 = *(code **)(pcVar13 + 0x350384);
  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740);
  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,
             *(int *)(pcVar13 + 0x34f65c) + 0x3a44);
  iVar4 = (**(code **)(pcVar14 + 0x3501a8))();
  if (piVar6 == (int *)0x0) {
LAB_00059458:
    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);
    (**(code **)(pcVar14 + 0x3502a8))
              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,
               puVar10);
LAB_0005947c:
    puVar10 = &DAT_00003a18 + (int)puVar10;
    (**(code **)(pcVar14 + 0x3502a8))
              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,
               puVar10);
  }
  else {
    if (piVar6[5] != -0x54535255) {
      (**(code **)(pcVar14 + 0x3502a8))
                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,
                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));
      goto LAB_00059458;
    }
    iVar9 = *piVar6;
    if (piVar6[4] != 0) {
      (**(code **)(pcVar14 + 0x34fe80))
                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,
                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);
      iVar9 = *piVar6;
    }
    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);
    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {
      if (iVar4 < piVar6[2]) {
        MVar20 = GetPixelCacheNexusExtent
                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));
        return (CacheView *)(MVar20 >> 0x20);
      }
      goto LAB_0005947c;
    }
  }
  pcVar13 = *(code **)(pcVar14 + 0x3502a8);
  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc);
  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10);
  if (piVar6 != (int *)0x0) {
    if (piVar6[5] == -0x54535255) {
      pCVar3 = (CacheView *)*piVar6;
      if (piVar6[4] != 0) {
        (**(code **)(pcVar13 + 0x34fd24))
                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,
                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,
                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);
        pCVar3 = (CacheView *)*piVar6;
      }
      return pCVar3;
    }
    (**(code **)(pcVar13 + 0x35014c))
              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,
               *(int *)(pcVar13 + 0x34f424) + 0x39f0);
  }
  pcVar14 = *(code **)(pcVar13 + 0x35014c);
  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740);
  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,
             *(int *)(pcVar13 + 0x34f424) + 0x39f0);
  if (piVar6 != (int *)0x0) {
    if (piVar6[5] == -0x54535255) {
      iVar4 = *piVar6;
      if (piVar6[4] != 0) {
        (**(code **)(pcVar14 + 0x34fc54))
                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,
                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,
                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);
        iVar4 = *piVar6;
      }
      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));
      return pCVar3;
    }
    (**(code **)(pcVar14 + 0x35007c))
              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,
               *(int *)(pcVar14 + 0x34f354) + 0x39c0);
  }
  pcVar13 = *(code **)(pcVar14 + 0x35007c);
  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740);
  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,
             *(int *)(pcVar14 + 0x34f354) + 0x39c0);
  iVar4 = (**(code **)(pcVar13 + 0x34fea0))();
  if (piVar6 == (int *)0x0) {
    iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;
    (**(code **)(pcVar13 + 0x34ffa0))
              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);
LAB_00059710:
    iVar9 = iVar9 + 0x3984;
    (**(code **)(pcVar13 + 0x34ffa0))
              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);
  }
  else {
    iVar9 = *(int *)(pcVar13 + 0x34f278);
    if (piVar6[5] != -0x54535255) goto LAB_0005974c;
    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {
      if (iVar4 < piVar6[2]) {
        pCVar3 = (CacheView *)
                 GetVirtualMetacontentFromNexus
                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));
        return pCVar3;
      }
      goto LAB_00059710;
    }
  }
  iVar9 = iVar9 + 0x3984;
  (**(code **)(pcVar13 + 0x34ffa0))
            (*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c);
LAB_0005974c:
  uVar8 = 0x238;
  pcVar14 = *(code **)(pcVar13 + 0x34ffa0);
  pfVar11 = (float *)(iVar9 + 0x3984);
  iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x370c;
  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764);
  (*pcVar14)();
  iVar4 = (**(code **)(pcVar14 + 0x34fd9c))();
  if (piVar6 != (int *)0x0) {
    iVar12 = *(int *)(pcVar14 + 0x34f174);
    if (piVar6[5] == -0x54535255) {
      if (iVar4 < piVar6[2]) {
        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);
        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))
                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),
                                     pcVar13 + 0x357248);
        iVar4 = *piVar6;
        if (pfVar5 == (float *)0x0) {
          dVar19 = *(double *)(iVar4 + 0xc0);
          dVar18 = *(double *)(iVar4 + 200);
          dVar17 = *(double *)(iVar4 + 0xd0);
          dVar15 = *(double *)(iVar4 + 0xb0);
          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);
          pfVar11[2] = (float)dVar19;
          pfVar11[3] = (float)dVar18;
          pfVar11[4] = (float)dVar17;
          *pfVar11 = (float)dVar15;
          return (CacheView *)0x0;
        }
        if (0 < *(int *)(iVar4 + 0x2c0)) {
          piVar6 = *(int **)(iVar4 + 0x2d0);
          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);
          do {
            fVar16 = *pfVar5;
            pfVar5 = pfVar5 + 1;
            iVar4 = *piVar6;
            piVar6 = piVar6 + 3;
            pfVar11[iVar4] = fVar16;
          } while (pfVar5 != pfVar7);
        }
        return (CacheView *)0x1;
      }
      iVar12 = iVar12 + 0x3928;
      (**(code **)(pcVar14 + 0x34fe9c))
                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,
                 iVar12);
    }
    (**(code **)(pcVar14 + 0x34fe9c))
              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,
               iVar12 + 0x3928);
  }
  uVar8 = 0x2ca;
  pcVar13 = *(code **)(pcVar14 + 0x34fe9c);
  pfVar11 = (float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928);
  iVar9 = *(int *)(pcVar14 + 0x34f174) + 0x370c;
  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740);
  (*pcVar13)(piVar6,iVar9,0x2ca);
  iVar4 = (**(code **)(pcVar13 + 0x34fbb0))();
  if (piVar6 == (int *)0x0) {
    pCVar3 = (CacheView *)
             (**(code **)(pcVar13 + 0x34fcb0))
                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,
                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);
    return pCVar3;
  }
  if (piVar6[5] != -0x54535255) {
    pCVar3 = (CacheView *)
             (**(code **)(pcVar13 + 0x34fcb0))
                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,
                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);
    return pCVar3;
  }
  if (iVar4 < piVar6[2]) {
    (**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);
    pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))
                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,
                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);
    iVar4 = *piVar6;
    if (pfVar5 == (float *)0x0) {
      dVar19 = *(double *)(iVar4 + 0xc0);
      dVar18 = *(double *)(iVar4 + 200);
      dVar17 = *(double *)(iVar4 + 0xd0);
      dVar15 = *(double *)(iVar4 + 0xb0);
      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);
      pfVar11[2] = (float)dVar19;
      pfVar11[3] = (float)dVar18;
      pfVar11[4] = (float)dVar17;
      *pfVar11 = (float)dVar15;
      return (CacheView *)0x0;
    }
    if (0 < *(int *)(iVar4 + 0x2c0)) {
      piVar6 = *(int **)(iVar4 + 0x2d0);
      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);
      do {
        fVar16 = *pfVar5;
        pfVar5 = pfVar5 + 1;
        iVar4 = *piVar6;
        piVar6 = piVar6 + 3;
        pfVar11[iVar4] = fVar16;
      } while (pfVar5 != pfVar7);
    }
    return (CacheView *)0x1;
  }
  pCVar3 = (CacheView *)
           (**(code **)(pcVar13 + 0x34fcb0))
                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,
                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c);
  return pCVar3;
}



int DestroyCacheView(int *param_1)

{
  int iVar1;
  float *pfVar2;
  int *piVar3;
  float *pfVar4;
  undefined4 uVar5;
  int iVar6;
  undefined1 *puVar7;
  float *pfVar8;
  int iVar9;
  undefined *UNRECOVERED_JUMPTABLE;
  code *pcVar10;
  code *pcVar11;
  float fVar13;
  double dVar12;
  double dVar14;
  double dVar15;
  double dVar16;
  undefined4 in_stack_fffffec0;
  
  if (param_1 != (int *)0x0) {
    if (param_1[5] == -0x54535255) {
      if (param_1[4] != 0) {
        (*(code *)PTR_LogMagickEvent_003a91e0)
                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,
                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);
      }
      if (param_1[3] != 0) {
        iVar1 = FUN_000534b4(param_1[3],param_1[2]);
        param_1[3] = iVar1;
      }
      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);
      *param_1 = iVar1;
      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;
      param_1[5] = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);
      return iVar1;
    }
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);
  }
  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);
  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)
            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);
  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();
  if (piVar3 == (int *)0x0) {
    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);
LAB_00059228:
    iVar6 = iVar6 + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);
LAB_00059248:
    iVar6 = iVar6 + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);
  }
  else {
    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);
    if (piVar3[5] == -0x54535255) {
      if (*(int *)(*piVar3 + 0x2d4) != 0) {
        if (iVar1 < piVar3[2]) {
          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);
        }
        goto LAB_00059228;
      }
      goto LAB_00059248;
    }
  }
  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);
  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);
  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);
  if (piVar3 != (int *)0x0) {
    if (piVar3[5] == -0x54535255) {
      iVar1 = *piVar3;
      if (piVar3[4] != 0) {
        (**(code **)(pcVar10 + 0x34ff5c))
                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,
                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,
                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);
        iVar1 = *piVar3;
      }
      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));
      return iVar1;
    }
    (**(code **)(pcVar10 + 0x350384))
              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,
               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);
  }
  pcVar11 = *(code **)(pcVar10 + 0x350384);
  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);
  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,
             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);
  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();
  if (piVar3 == (int *)0x0) {
LAB_00059458:
    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);
    (**(code **)(pcVar11 + 0x3502a8))
              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,
               puVar7);
LAB_0005947c:
    puVar7 = &DAT_00003a18 + (int)puVar7;
    (**(code **)(pcVar11 + 0x3502a8))
              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,
               puVar7);
  }
  else {
    if (piVar3[5] != -0x54535255) {
      (**(code **)(pcVar11 + 0x3502a8))
                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,
                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));
      goto LAB_00059458;
    }
    iVar6 = *piVar3;
    if (piVar3[4] != 0) {
      (**(code **)(pcVar11 + 0x34fe80))
                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,
                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);
      iVar6 = *piVar3;
    }
    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);
    if (*(int *)(iVar6 + 0x2d4) != 0) {
      if (iVar1 < piVar3[2]) {
        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));
        return iVar1;
      }
      goto LAB_0005947c;
    }
  }
  pcVar10 = *(code **)(pcVar11 + 0x3502a8);
  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);
  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);
  if (piVar3 != (int *)0x0) {
    if (piVar3[5] == -0x54535255) {
      iVar1 = *piVar3;
      if (piVar3[4] != 0) {
        (**(code **)(pcVar10 + 0x34fd24))
                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,
                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,
                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);
        iVar1 = *piVar3;
      }
      return iVar1;
    }
    (**(code **)(pcVar10 + 0x35014c))
              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,
               *(int *)(pcVar10 + 0x34f424) + 0x39f0);
  }
  pcVar11 = *(code **)(pcVar10 + 0x35014c);
  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);
  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,
             *(int *)(pcVar10 + 0x34f424) + 0x39f0);
  if (piVar3 != (int *)0x0) {
    if (piVar3[5] == -0x54535255) {
      iVar1 = *piVar3;
      if (piVar3[4] != 0) {
        (**(code **)(pcVar11 + 0x34fc54))
                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,
                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,
                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);
        iVar1 = *piVar3;
      }
      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));
      return iVar1;
    }
    (**(code **)(pcVar11 + 0x35007c))
              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,
               *(int *)(pcVar11 + 0x34f354) + 0x39c0);
  }
  pcVar10 = *(code **)(pcVar11 + 0x35007c);
  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);
  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,
             *(int *)(pcVar11 + 0x34f354) + 0x39c0);
  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();
  if (piVar3 == (int *)0x0) {
    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;
    (**(code **)(pcVar10 + 0x34ffa0))
              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);
LAB_00059710:
    iVar6 = iVar6 + 0x3984;
    (**(code **)(pcVar10 + 0x34ffa0))
              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);
  }
  else {
    iVar6 = *(int *)(pcVar10 + 0x34f278);
    if (piVar3[5] != -0x54535255) goto LAB_0005974c;
    if (*(int *)(*piVar3 + 0x2d4) != 0) {
      if (iVar1 < piVar3[2]) {
        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)
        ;
        return iVar1;
      }
      goto LAB_00059710;
    }
  }
  iVar6 = iVar6 + 0x3984;
  (**(code **)(pcVar10 + 0x34ffa0))
            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);
LAB_0005974c:
  uVar5 = 0x238;
  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);
  pfVar8 = (float *)(iVar6 + 0x3984);
  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;
  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);
  (*pcVar11)();
  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();
  if (piVar3 != (int *)0x0) {
    iVar9 = *(int *)(pcVar11 + 0x34f174);
    if (piVar3[5] == -0x54535255) {
      if (iVar1 < piVar3[2]) {
        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);
        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))
                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),
                                     pcVar10 + 0x357248);
        iVar1 = *piVar3;
        if (pfVar2 == (float *)0x0) {
          dVar16 = *(double *)(iVar1 + 0xc0);
          dVar15 = *(double *)(iVar1 + 200);
          dVar14 = *(double *)(iVar1 + 0xd0);
          dVar12 = *(double *)(iVar1 + 0xb0);
          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);
          pfVar8[2] = (float)dVar16;
          pfVar8[3] = (float)dVar15;
          pfVar8[4] = (float)dVar14;
          *pfVar8 = (float)dVar12;
          return 0;
        }
        if (0 < *(int *)(iVar1 + 0x2c0)) {
          piVar3 = *(int **)(iVar1 + 0x2d0);
          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);
          do {
            fVar13 = *pfVar2;
            pfVar2 = pfVar2 + 1;
            iVar1 = *piVar3;
            piVar3 = piVar3 + 3;
            pfVar8[iVar1] = fVar13;
          } while (pfVar2 != pfVar4);
        }
        return 1;
      }
      iVar9 = iVar9 + 0x3928;
      (**(code **)(pcVar11 + 0x34fe9c))
                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,
                 iVar9);
    }
    (**(code **)(pcVar11 + 0x34fe9c))
              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,
               iVar9 + 0x3928);
  }
  uVar5 = 0x2ca;
  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);
  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);
  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;
  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);
  (*pcVar10)(piVar3,iVar6,0x2ca);
  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();
  if (piVar3 == (int *)0x0) {
    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))
                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,
                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);
    return iVar1;
  }
  if (piVar3[5] != -0x54535255) {
    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))
                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,
                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);
    return iVar1;
  }
  if (iVar1 < piVar3[2]) {
    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);
    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))
                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,
                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);
    iVar1 = *piVar3;
    if (pfVar2 == (float *)0x0) {
      dVar16 = *(double *)(iVar1 + 0xc0);
      dVar15 = *(double *)(iVar1 + 200);
      dVar14 = *(double *)(iVar1 + 0xd0);
      dVar12 = *(double *)(iVar1 + 0xb0);
      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);
      pfVar8[2] = (float)dVar16;
      pfVar8[3] = (float)dVar15;
      pfVar8[4] = (float)dVar14;
      *pfVar8 = (float)dVar12;
      return 0;
    }
    if (0 < *(int *)(iVar1 + 0x2c0)) {
      piVar3 = *(int **)(iVar1 + 0x2d0);
      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);
      do {
        fVar13 = *pfVar2;
        pfVar2 = pfVar2 + 1;
        iVar1 = *piVar3;
        piVar3 = piVar3 + 3;
        pfVar8[iVar1] = fVar13;
      } while (pfVar2 != pfVar4);
    }
    return 1;
  }
  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))
                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,
                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);
  return iVar1;
}


lui gp,0x35
addiu gp,gp,0x7848
addu gp,gp,t9
addiu sp,sp,-0x28
sw gp,0x18(sp)
sw ra,0x24(sp)
beq a0,zero,0x0005915c
_sw s0,0x20(sp)
lui v0,0xabac
lw v1,0x14(a0)
ori v0,v0,0xadab
bne v1,v0,0x00059138
_or s0,a0,zero
lw v0,0x10(a0)
bne v0,zero,0x000590fc
_li a3,0x101
lw a0,0xc(s0)
beq a0,zero,0x000590c4
_lw t9,-0x7f2c(gp)
bal 0x000534b4
_lw a1,0x8(s0)
lw gp,0x18(sp)
sw v0,0xc(s0)
lw t9,-0x7964(gp)
jalr t9
_lw a0,0x0(s0)
or a0,s0,zero
lw gp,0x18(sp)
lw ra,0x24(sp)
sw v0,0x0(s0)
lui v0,0x5453
addiu v0,v0,0x5254
lw t9,-0x71e4(gp)
sw v0,0x14(s0)
lw s0,0x20(sp)
jr t9
_addiu sp,sp,0x28
lw v0,0x0(a0)
lw a2,-0x7fd0(gp)
ori a0,zero,0x8000
lw a1,-0x7fd0(gp)
addiu v0,v0,0x340
lw t9,-0x76d0(gp)
addiu a2,a2,0x3abc
sw v0,0x14(sp)
addiu a1,a1,0x370c
lw v0,-0x7fcc(gp)
addiu v0,v0,-0x62ac
jalr t9
_sw v0,0x10(sp)
b 0x000590a8
_lw gp,0x18(sp)
lw a3,-0x7fd0(gp)
li a2,0xff
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x3ad0
addiu a1,a1,0x370c
jalr t9
_addiu a0,a0,0x3764
lw a3,-0x7fd0(gp)
li a2,0xfe
lw a1,-0x7fd0(gp)
lw a0,-0x7fd0(gp)
lw t9,-0x72a8(gp)
addiu a3,a3,0x3ad0
addiu a1,a1,0x370c
jalr t9
_addiu a0,a0,0x3740
(translation_unit "int DestroyCacheView(int *param_1)\n\n{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}\n\n" (function_definition "int DestroyCacheView(int *param_1)\n\n{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}" primitive_type (function_declarator "DestroyCacheView(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "float *pfVar2;" primitive_type (pointer_declarator "*pfVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "float *pfVar4;" primitive_type (pointer_declarator "*pfVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "float *pfVar8;" primitive_type (pointer_declarator "*pfVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "float fVar13;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar14;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "undefined4 in_stack_fffffec0;" type_identifier identifier ;) (if_statement "if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" { (if_statement "if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }" if (parenthesized_expression "(param_1[5] == -0x54535255)" ( (binary_expression "param_1[5] == -0x54535255" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }" { (if_statement "if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3abc" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "*param_1 + 0x340" (pointer_expression "*param_1" * identifier) + number_literal) ))) ;) })) (if_statement "if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }" { (expression_statement "iVar1 = FUN_000534b4(param_1[3],param_1[2]);" (assignment_expression "iVar1 = FUN_000534b4(param_1[3],param_1[2])" identifier = (call_expression "FUN_000534b4(param_1[3],param_1[2])" identifier (argument_list "(param_1[3],param_1[2])" ( (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "param_1[2]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[3] = iVar1;" (assignment_expression "param_1[3] = iVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);" (assignment_expression "iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" identifier = (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) )))) ;) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc" identifier = identifier) ;) (expression_statement "param_1[5] = 0x54535254;" (assignment_expression "param_1[5] = 0x54535254" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) comment comment (expression_statement "iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);" (assignment_expression "iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1)" identifier = (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(param_1)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3764" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" identifier + number_literal) ))) ;) })) (expression_statement "piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);" (assignment_expression "piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3740)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3740" identifier + number_literal) )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();" (assignment_expression "iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350388)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350388" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }" { (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;" statement_identifier : (expression_statement "iVar6 = iVar6 + 0x3a7c;" (assignment_expression "iVar6 = iVar6 + 0x3a7c" identifier = (binary_expression "iVar6 + 0x3a7c" identifier + number_literal)) ;)) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;" statement_identifier : (expression_statement "iVar6 = iVar6 + 0x3a7c;" (assignment_expression "iVar6 = iVar6 + 0x3a7c" identifier = (binary_expression "iVar6 + 0x3a7c" identifier + number_literal)) ;)) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" else (compound_statement "{\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" { (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" identifier = (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) ))))) ;) (if_statement "if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" { (if_statement "if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" if (parenthesized_expression "(*(int *)(*piVar3 + 0x2d4) != 0)" ( (binary_expression "*(int *)(*piVar3 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar3 + 0x2d4)" * (cast_expression "(int *)(*piVar3 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x2d4)" ( (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" { (if_statement "if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }" { (return_statement "return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);" return (pointer_expression "*(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" * (cast_expression "(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" ( (binary_expression "*(int *)(piVar3[3] + iVar1 * 4) + 0x2c" (pointer_expression "*(int *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(int *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) + number_literal) )))) ;) })) (goto_statement "goto LAB_00059228;" goto statement_identifier ;) })) (goto_statement "goto LAB_00059248;" goto statement_identifier ;) })) }))) (expression_statement "pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);" (assignment_expression "pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);" (assignment_expression "piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" identifier = (cast_expression "(int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);" (call_expression "(*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3a7c" identifier + number_literal) ))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }" { (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" { (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }" { (expression_statement "(**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);" (call_expression "(**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ff5c))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ff5c)" * (pointer_expression "*(code **)(pcVar10 + 0x34ff5c)" * (cast_expression "(code **)(pcVar10 + 0x34ff5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ff5c)" ( (binary_expression "pcVar10 + 0x34ff5c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c)" ( number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a2c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f660) + -0x62ac" (pointer_expression "*(int *)(pcVar10 + 0x34f660)" * (cast_expression "(int *)(pcVar10 + 0x34f660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f660)" ( (binary_expression "pcVar10 + 0x34f660" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 0x340" identifier + number_literal) , (binary_expression "pcVar10 + 0x35762c" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (expression_statement "iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));" (assignment_expression "iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4))" identifier = (call_expression "FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4))" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x2d4))" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x2d4)" * (cast_expression "(undefined4 *)(iVar1 + 0x2d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2d4)" ( (binary_expression "iVar1 + 0x2d4" identifier + number_literal) )))) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);" (call_expression "(**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(**(code **)(pcVar10 + 0x350384))" ( (pointer_expression "**(code **)(pcVar10 + 0x350384)" * (pointer_expression "*(code **)(pcVar10 + 0x350384)" * (cast_expression "(code **)(pcVar10 + 0x350384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x350384)" ( (binary_expression "pcVar10 + 0x350384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" ( (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x350384);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x350384)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x350384)" * (cast_expression "(code **)(pcVar10 + 0x350384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x350384)" ( (binary_expression "pcVar10 + 0x350384" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" ( (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);" (call_expression "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" ( identifier , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar11 + 0x3501a8))();" (assignment_expression "iVar1 = (**(code **)(pcVar11 + 0x3501a8))()" identifier = (call_expression "(**(code **)(pcVar11 + 0x3501a8))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x3501a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3501a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3501a8)" * (cast_expression "(code **)(pcVar11 + 0x3501a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3501a8)" ( (binary_expression "pcVar11 + 0x3501a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }" { (labeled_statement "LAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);" statement_identifier : (expression_statement "puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);" (assignment_expression "puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" identifier = (binary_expression "&DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (pointer_expression "&DAT_00003a18" & identifier) + (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))))) ;)) (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7)" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7)" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;" statement_identifier : (expression_statement "puVar7 = &DAT_00003a18 + (int)puVar7;" (assignment_expression "puVar7 = &DAT_00003a18 + (int)puVar7" identifier = (binary_expression "&DAT_00003a18 + (int)puVar7" (pointer_expression "&DAT_00003a18" & identifier) + (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7)" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7)" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3794" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" else (compound_statement "{\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" { (if_statement "if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }" if (parenthesized_expression "(piVar3[5] != -0x54535255)" ( (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }" { (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580))" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580))" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "&DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (pointer_expression "&DAT_00003a18" & identifier) + (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) ))))) ))) ;) (goto_statement "goto LAB_00059458;" goto statement_identifier ;) })) (expression_statement "iVar6 = *piVar3;" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }" { (expression_statement "(**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);" (call_expression "(**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe80))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fe80)" * (pointer_expression "*(code **)(pcVar11 + 0x34fe80)" * (cast_expression "(code **)(pcVar11 + 0x34fe80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe80)" ( (binary_expression "pcVar11 + 0x34fe80" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3a04" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f584) + -0x62ac" (pointer_expression "*(int *)(pcVar11 + 0x34f584)" * (cast_expression "(int *)(pcVar11 + 0x34f584)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f584)" ( (binary_expression "pcVar11 + 0x34f584" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar6 + 0x340" identifier + number_literal) ))) ;) (expression_statement "iVar6 = *piVar3;" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (expression_statement "puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);" (assignment_expression "puVar7 = *(undefined1 **)(pcVar11 + 0x34f580)" identifier = (pointer_expression "*(undefined1 **)(pcVar11 + 0x34f580)" * (cast_expression "(undefined1 **)(pcVar11 + 0x34f580)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 0x2d4) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x2d4) != 0" (pointer_expression "*(int *)(iVar6 + 0x2d4)" * (cast_expression "(int *)(iVar6 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2d4)" ( (binary_expression "iVar6 + 0x2d4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }" { (if_statement "if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }" { (expression_statement "iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));" (assignment_expression "iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" identifier = (call_expression "FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" identifier (argument_list "(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" ( (pointer_expression "*(int *)(iVar6 + 0x2d4)" * (cast_expression "(int *)(iVar6 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2d4)" ( (binary_expression "iVar6 + 0x2d4" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (goto_statement "goto LAB_0005947c;" goto statement_identifier ;) })) }))) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x3502a8);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x3502a8)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" identifier = (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x37bc" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);" (call_expression "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7)" ( identifier , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "&DAT_00003a18 + (int)puVar7" (pointer_expression "&DAT_00003a18" & identifier) + (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }" { (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }" { (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }" { (expression_statement "(**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);" (call_expression "(**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fd24))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fd24)" * (pointer_expression "*(code **)(pcVar10 + 0x34fd24)" * (cast_expression "(code **)(pcVar10 + 0x34fd24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fd24)" ( (binary_expression "pcVar10 + 0x34fd24" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4)" ( number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39dc" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f428) + -0x62ac" (pointer_expression "*(int *)(pcVar10 + 0x34f428)" * (cast_expression "(int *)(pcVar10 + 0x34f428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f428)" ( (binary_expression "pcVar10 + 0x34f428" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 0x340" identifier + number_literal) , (binary_expression "pcVar10 + 0x3573f4" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);" (call_expression "(**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x35014c))" ( (pointer_expression "**(code **)(pcVar10 + 0x35014c)" * (pointer_expression "*(code **)(pcVar10 + 0x35014c)" * (cast_expression "(code **)(pcVar10 + 0x35014c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x35014c)" ( (binary_expression "pcVar10 + 0x35014c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0)" ( (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x35014c);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x35014c)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x35014c)" * (cast_expression "(code **)(pcVar10 + 0x35014c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x35014c)" ( (binary_expression "pcVar10 + 0x35014c" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x34f424) + 0x3740)" ( (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);" (call_expression "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0)" ( identifier , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }" { (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" { (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }" { (expression_statement "(**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);" (call_expression "(**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fc54))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fc54)" * (pointer_expression "*(code **)(pcVar11 + 0x34fc54)" * (cast_expression "(code **)(pcVar11 + 0x34fc54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fc54)" ( (binary_expression "pcVar11 + 0x34fc54" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324)" ( number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39a4" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f358) + -0x62ac" (pointer_expression "*(int *)(pcVar11 + 0x34f358)" * (cast_expression "(int *)(pcVar11 + 0x34f358)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f358)" ( (binary_expression "pcVar11 + 0x34f358" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 0x340" identifier + number_literal) , (binary_expression "pcVar11 + 0x357324" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (expression_statement "iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));" (assignment_expression "iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4))" identifier = (call_expression "FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4))" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x2d4))" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x2d4)" * (cast_expression "(undefined4 *)(iVar1 + 0x2d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2d4)" ( (binary_expression "iVar1 + 0x2d4" identifier + number_literal) )))) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);" (call_expression "(**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (parenthesized_expression "(**(code **)(pcVar11 + 0x35007c))" ( (pointer_expression "**(code **)(pcVar11 + 0x35007c)" * (pointer_expression "*(code **)(pcVar11 + 0x35007c)" * (cast_expression "(code **)(pcVar11 + 0x35007c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x35007c)" ( (binary_expression "pcVar11 + 0x35007c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0)" ( (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x35007c);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x35007c)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x35007c)" * (cast_expression "(code **)(pcVar11 + 0x35007c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x35007c)" ( (binary_expression "pcVar11 + 0x35007c" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f354) + 0x3740)" ( (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);" (call_expression "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0)" ( identifier , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fea0))();" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fea0))()" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fea0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fea0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fea0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fea0)" * (cast_expression "(code **)(pcVar10 + 0x34fea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fea0)" ( (binary_expression "pcVar10 + 0x34fea0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }" { (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984" identifier = (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3984" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x37e8" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (labeled_statement "LAB_00059710:\n    iVar6 = iVar6 + 0x3984;" statement_identifier : (expression_statement "iVar6 = iVar6 + 0x3984;" (assignment_expression "iVar6 = iVar6 + 0x3984" identifier = (binary_expression "iVar6 + 0x3984" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3794" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" else (compound_statement "{\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" { (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278);" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) ))))) ;) (if_statement "if (piVar3[5] != -0x54535255) goto LAB_0005974c;" if (parenthesized_expression "(piVar3[5] != -0x54535255)" ( (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0005974c;" goto statement_identifier ;)) (if_statement "if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }" if (parenthesized_expression "(*(int *)(*piVar3 + 0x2d4) != 0)" ( (binary_expression "*(int *)(*piVar3 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar3 + 0x2d4)" * (cast_expression "(int *)(*piVar3 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x2d4)" ( (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }" { (if_statement "if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }" { (expression_statement "iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;" (assignment_expression "iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" identifier = (call_expression "FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" identifier (argument_list "(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" ( (pointer_expression "*(int *)(*piVar3 + 0x2d4)" * (cast_expression "(int *)(*piVar3 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x2d4)" ( (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" * identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , number_literal )))) ;) (return_statement "return iVar1;" return identifier ;) })) (goto_statement "goto LAB_00059710;" goto statement_identifier ;) })) }))) (expression_statement "iVar6 = iVar6 + 0x3984;" (assignment_expression "iVar6 = iVar6 + 0x3984" identifier = (binary_expression "iVar6 + 0x3984" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x37bc" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0005974c:\n  uVar5 = 0x238;" statement_identifier : (expression_statement "uVar5 = 0x238;" (assignment_expression "uVar5 = 0x238" identifier = number_literal) ;)) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x34ffa0);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x34ffa0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) ;) (expression_statement "pfVar8 = (float *)(iVar6 + 0x3984);" (assignment_expression "pfVar8 = (float *)(iVar6 + 0x3984)" identifier = (cast_expression "(float *)(iVar6 + 0x3984)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3984)" ( (binary_expression "iVar6 + 0x3984" identifier + number_literal) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c" identifier = (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x34f278) + 0x3764)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();" (assignment_expression "iVar1 = (**(code **)(pcVar11 + 0x34fd9c))()" identifier = (call_expression "(**(code **)(pcVar11 + 0x34fd9c))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fd9c))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fd9c)" * (pointer_expression "*(code **)(pcVar11 + 0x34fd9c)" * (cast_expression "(code **)(pcVar11 + 0x34fd9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fd9c)" ( (binary_expression "pcVar11 + 0x34fd9c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }" { (expression_statement "iVar9 = *(int *)(pcVar11 + 0x34f174);" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x34f174)" identifier = (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) ))))) ;) (if_statement "if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }" { (if_statement "if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }" { (expression_statement "(**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);" (call_expression "(**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34ff68))" ( (pointer_expression "**(code **)(pcVar11 + 0x34ff68)" * (pointer_expression "*(code **)(pcVar11 + 0x34ff68)" * (cast_expression "(code **)(pcVar11 + 0x34ff68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34ff68)" ( (binary_expression "pcVar11 + 0x34ff68" identifier + number_literal) ))))) )) (argument_list "(pfVar8,0,0x100)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);" (assignment_expression "pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" identifier = (cast_expression "(float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34f2a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x34f2a8)" * (pointer_expression "*(code **)(pcVar11 + 0x34f2a8)" * (cast_expression "(code **)(pcVar11 + 0x34f2a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34f2a8)" ( (binary_expression "pcVar11 + 0x34f2a8" identifier + number_literal) ))))) )) (argument_list "(*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" ( (pointer_expression "*piVar3" * identifier) , identifier , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , (binary_expression "pcVar10 + 0x357248" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }" if (parenthesized_expression "(pfVar2 == (float *)0x0)" ( (binary_expression "pfVar2 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }" { (expression_statement "dVar16 = *(double *)(iVar1 + 0xc0);" (assignment_expression "dVar16 = *(double *)(iVar1 + 0xc0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xc0)" * (cast_expression "(double *)(iVar1 + 0xc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc0)" ( (binary_expression "iVar1 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "dVar15 = *(double *)(iVar1 + 200);" (assignment_expression "dVar15 = *(double *)(iVar1 + 200)" identifier = (pointer_expression "*(double *)(iVar1 + 200)" * (cast_expression "(double *)(iVar1 + 200)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 200)" ( (binary_expression "iVar1 + 200" identifier + number_literal) ))))) ;) (expression_statement "dVar14 = *(double *)(iVar1 + 0xd0);" (assignment_expression "dVar14 = *(double *)(iVar1 + 0xd0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xd0)" * (cast_expression "(double *)(iVar1 + 0xd0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xd0)" ( (binary_expression "iVar1 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(iVar1 + 0xb0);" (assignment_expression "dVar12 = *(double *)(iVar1 + 0xb0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xb0)" * (cast_expression "(double *)(iVar1 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb0)" ( (binary_expression "iVar1 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);" (assignment_expression "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8)" (subscript_expression "pfVar8[1]" identifier [ number_literal ]) = (cast_expression "(float)*(double *)(iVar1 + 0xb8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar1 + 0xb8)" * (cast_expression "(double *)(iVar1 + 0xb8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb8)" ( (binary_expression "iVar1 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "pfVar8[2] = (float)dVar16;" (assignment_expression "pfVar8[2] = (float)dVar16" (subscript_expression "pfVar8[2]" identifier [ number_literal ]) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[3] = (float)dVar15;" (assignment_expression "pfVar8[3] = (float)dVar15" (subscript_expression "pfVar8[3]" identifier [ number_literal ]) = (cast_expression "(float)dVar15" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[4] = (float)dVar14;" (assignment_expression "pfVar8[4] = (float)dVar14" (subscript_expression "pfVar8[4]" identifier [ number_literal ]) = (cast_expression "(float)dVar14" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar8 = (float)dVar12;" (assignment_expression "*pfVar8 = (float)dVar12" (pointer_expression "*pfVar8" * identifier) = (cast_expression "(float)dVar12" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }" if (parenthesized_expression "(0 < *(int *)(iVar1 + 0x2c0))" ( (binary_expression "0 < *(int *)(iVar1 + 0x2c0)" number_literal < (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) ))))) )) (compound_statement "{\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }" { (expression_statement "piVar3 = *(int **)(iVar1 + 0x2d0);" (assignment_expression "piVar3 = *(int **)(iVar1 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar1 + 0x2d0)" * (cast_expression "(int **)(iVar1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x2d0)" ( (binary_expression "iVar1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);" (assignment_expression "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier = (binary_expression "pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) )))))) ;) (do_statement "do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);" do (compound_statement "{\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          }" { (expression_statement "fVar13 = *pfVar2;" (assignment_expression "fVar13 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar3 = piVar3 + 3;" (assignment_expression "piVar3 = piVar3 + 3" identifier = (binary_expression "piVar3 + 3" identifier + number_literal)) ;) (expression_statement "pfVar8[iVar1] = fVar13;" (assignment_expression "pfVar8[iVar1] = fVar13" (subscript_expression "pfVar8[iVar1]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(pfVar2 != pfVar4)" ( (binary_expression "pfVar2 != pfVar4" identifier != identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar9 = iVar9 + 0x3928;" (assignment_expression "iVar9 = iVar9 + 0x3928" identifier = (binary_expression "iVar9 + 0x3928" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);" (call_expression "(**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe9c))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fe9c)" * (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" * (cast_expression "(code **)(pcVar11 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe9c)" ( (binary_expression "pcVar11 + 0x34fe9c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3794" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);" (call_expression "(**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe9c))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fe9c)" * (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" * (cast_expression "(code **)(pcVar11 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe9c)" ( (binary_expression "pcVar11 + 0x34fe9c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar9 + 0x3928" identifier + number_literal) ))) ;) })) (expression_statement "uVar5 = 0x2ca;" (assignment_expression "uVar5 = 0x2ca" identifier = number_literal) ;) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x34fe9c);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x34fe9c)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" * (cast_expression "(code **)(pcVar11 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe9c)" ( (binary_expression "pcVar11 + 0x34fe9c" identifier + number_literal) ))))) ;) (expression_statement "pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);" (assignment_expression "pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928)" identifier = (cast_expression "(float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f174) + 0x3928)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3928" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c" identifier = (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f174) + 0x3740)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,iVar6,0x2ca);" (call_expression "(*pcVar10)(piVar3,iVar6,0x2ca)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,iVar6,0x2ca)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fbb0))()" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fbb0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fbb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fbb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fbb0)" * (cast_expression "(code **)(pcVar10 + 0x34fbb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fbb0)" ( (binary_expression "pcVar10 + 0x34fbb0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" { (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" * (cast_expression "(code **)(pcVar10 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fcb0)" ( (binary_expression "pcVar10 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (if_statement "if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" if (parenthesized_expression "(piVar3[5] != -0x54535255)" ( (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" { (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" * (cast_expression "(code **)(pcVar10 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fcb0)" ( (binary_expression "pcVar10 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (if_statement "if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }" { (expression_statement "(**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);" (call_expression "(**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fd7c))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fd7c)" * (pointer_expression "*(code **)(pcVar10 + 0x34fd7c)" * (cast_expression "(code **)(pcVar10 + 0x34fd7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fd7c)" ( (binary_expression "pcVar10 + 0x34fd7c" identifier + number_literal) ))))) )) (argument_list "(pfVar8,0,0x100)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);" (assignment_expression "pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" identifier = (cast_expression "(float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34f0ac))" ( (pointer_expression "**(code **)(pcVar10 + 0x34f0ac)" * (pointer_expression "*(code **)(pcVar10 + 0x34f0ac)" * (cast_expression "(code **)(pcVar10 + 0x34f0ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34f0ac)" ( (binary_expression "pcVar10 + 0x34f0ac" identifier + number_literal) ))))) )) (argument_list "(*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" ( (pointer_expression "*piVar3" * identifier) , (subscript_expression "piVar3[1]" identifier [ number_literal ]) , identifier , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , identifier ))))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }" if (parenthesized_expression "(pfVar2 == (float *)0x0)" ( (binary_expression "pfVar2 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }" { (expression_statement "dVar16 = *(double *)(iVar1 + 0xc0);" (assignment_expression "dVar16 = *(double *)(iVar1 + 0xc0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xc0)" * (cast_expression "(double *)(iVar1 + 0xc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc0)" ( (binary_expression "iVar1 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "dVar15 = *(double *)(iVar1 + 200);" (assignment_expression "dVar15 = *(double *)(iVar1 + 200)" identifier = (pointer_expression "*(double *)(iVar1 + 200)" * (cast_expression "(double *)(iVar1 + 200)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 200)" ( (binary_expression "iVar1 + 200" identifier + number_literal) ))))) ;) (expression_statement "dVar14 = *(double *)(iVar1 + 0xd0);" (assignment_expression "dVar14 = *(double *)(iVar1 + 0xd0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xd0)" * (cast_expression "(double *)(iVar1 + 0xd0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xd0)" ( (binary_expression "iVar1 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(iVar1 + 0xb0);" (assignment_expression "dVar12 = *(double *)(iVar1 + 0xb0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xb0)" * (cast_expression "(double *)(iVar1 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb0)" ( (binary_expression "iVar1 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);" (assignment_expression "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8)" (subscript_expression "pfVar8[1]" identifier [ number_literal ]) = (cast_expression "(float)*(double *)(iVar1 + 0xb8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar1 + 0xb8)" * (cast_expression "(double *)(iVar1 + 0xb8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb8)" ( (binary_expression "iVar1 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "pfVar8[2] = (float)dVar16;" (assignment_expression "pfVar8[2] = (float)dVar16" (subscript_expression "pfVar8[2]" identifier [ number_literal ]) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[3] = (float)dVar15;" (assignment_expression "pfVar8[3] = (float)dVar15" (subscript_expression "pfVar8[3]" identifier [ number_literal ]) = (cast_expression "(float)dVar15" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[4] = (float)dVar14;" (assignment_expression "pfVar8[4] = (float)dVar14" (subscript_expression "pfVar8[4]" identifier [ number_literal ]) = (cast_expression "(float)dVar14" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar8 = (float)dVar12;" (assignment_expression "*pfVar8 = (float)dVar12" (pointer_expression "*pfVar8" * identifier) = (cast_expression "(float)dVar12" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }" if (parenthesized_expression "(0 < *(int *)(iVar1 + 0x2c0))" ( (binary_expression "0 < *(int *)(iVar1 + 0x2c0)" number_literal < (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) ))))) )) (compound_statement "{\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }" { (expression_statement "piVar3 = *(int **)(iVar1 + 0x2d0);" (assignment_expression "piVar3 = *(int **)(iVar1 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar1 + 0x2d0)" * (cast_expression "(int **)(iVar1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x2d0)" ( (binary_expression "iVar1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);" (assignment_expression "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier = (binary_expression "pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) )))))) ;) (do_statement "do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);" do (compound_statement "{\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      }" { (expression_statement "fVar13 = *pfVar2;" (assignment_expression "fVar13 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar3 = piVar3 + 3;" (assignment_expression "piVar3 = piVar3 + 3" identifier = (binary_expression "piVar3 + 3" identifier + number_literal)) ;) (expression_statement "pfVar8[iVar1] = fVar13;" (assignment_expression "pfVar8[iVar1] = fVar13" (subscript_expression "pfVar8[iVar1]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(pfVar2 != pfVar4)" ( (binary_expression "pfVar2 != pfVar4" identifier != identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" * (cast_expression "(code **)(pcVar10 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fcb0)" ( (binary_expression "pcVar10 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3794" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n\nCacheView * DestroyCacheView(CacheView *cache_view)\n\n{\n  NexusInfo **ppNVar1;\n  Image *pIVar2;\n  CacheView *pCVar3;\n  int iVar4;\n  float *pfVar5;\n  int *piVar6;\n  float *pfVar7;\n  undefined4 uVar8;\n  int iVar9;\n  undefined1 *puVar10;\n  float *pfVar11;\n  int iVar12;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar13;\n  code *pcVar14;\n  float fVar16;\n  double dVar15;\n  double dVar17;\n  double dVar18;\n  double dVar19;\n  MagickSizeType MVar20;\n  undefined4 in_stack_fffffec0;\n  \n  if (cache_view != (CacheView *)0x0) {\n    if (cache_view->signature == 0xabacadab) {\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar6 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);\nLAB_00059228:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);\nLAB_00059248:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar6 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar13)(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  }\n  pcVar14 = *(code **)(pcVar13 + 0x350384);\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740);\n  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  iVar4 = (**(code **)(pcVar14 + 0x3501a8))();\n  if (piVar6 == (int *)0x0) {\nLAB_00059458:\n    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10);\nLAB_0005947c:\n    puVar10 = &DAT_00003a18 + (int)puVar10;\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10);\n  }\n  else {\n    if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar9 = *piVar6;\n    if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }\n    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);\n    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar13 = *(code **)(pcVar14 + 0x3502a8);\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc);\n  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  }\n  pcVar14 = *(code **)(pcVar13 + 0x35014c);\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740);\n  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  }\n  pcVar13 = *(code **)(pcVar14 + 0x35007c);\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740);\n  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  iVar4 = (**(code **)(pcVar13 + 0x34fea0))();\n  if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar9 = iVar9 + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar9 = *(int *)(pcVar13 + 0x34f278);\n    if (piVar6[5] != -0x54535255) goto LAB_0005974c;\n    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar9 = iVar9 + 0x3984;\n  (**(code **)(pcVar13 + 0x34ffa0))\n            (*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar8 = 0x238;\n  pcVar14 = *(code **)(pcVar13 + 0x34ffa0);\n  pfVar11 = (float *)(iVar9 + 0x3984);\n  iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x370c;\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764);\n  (*pcVar14)();\n  iVar4 = (**(code **)(pcVar14 + 0x34fd9c))();\n  if (piVar6 != (int *)0x0) {\n    iVar12 = *(int *)(pcVar14 + 0x34f174);\n    if (piVar6[5] == -0x54535255) {\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }\n    (**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928);\n  }\n  uVar8 = 0x2ca;\n  pcVar13 = *(code **)(pcVar14 + 0x34fe9c);\n  pfVar11 = (float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928);\n  iVar9 = *(int *)(pcVar14 + 0x34f174) + 0x370c;\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740);\n  (*pcVar13)(piVar6,iVar9,0x2ca);\n  iVar4 = (**(code **)(pcVar13 + 0x34fbb0))();\n  if (piVar6 == (int *)0x0) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }\n  if (piVar6[5] != -0x54535255) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }\n  if (iVar4 < piVar6[2]) {\n    (**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);\n    pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);\n    iVar4 = *piVar6;\n    if (pfVar5 == (float *)0x0) {\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }\n    if (0 < *(int *)(iVar4 + 0x2c0)) {\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }\n    return (CacheView *)0x1;\n  }\n  pCVar3 = (CacheView *)\n           (**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n  return pCVar3;\n}\n\n" comment comment comment comment (function_definition "CacheView * DestroyCacheView(CacheView *cache_view)\n\n{\n  NexusInfo **ppNVar1;\n  Image *pIVar2;\n  CacheView *pCVar3;\n  int iVar4;\n  float *pfVar5;\n  int *piVar6;\n  float *pfVar7;\n  undefined4 uVar8;\n  int iVar9;\n  undefined1 *puVar10;\n  float *pfVar11;\n  int iVar12;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar13;\n  code *pcVar14;\n  float fVar16;\n  double dVar15;\n  double dVar17;\n  double dVar18;\n  double dVar19;\n  MagickSizeType MVar20;\n  undefined4 in_stack_fffffec0;\n  \n  if (cache_view != (CacheView *)0x0) {\n    if (cache_view->signature == 0xabacadab) {\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar6 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);\nLAB_00059228:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);\nLAB_00059248:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar6 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar13)(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  }\n  pcVar14 = *(code **)(pcVar13 + 0x350384);\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740);\n  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  iVar4 = (**(code **)(pcVar14 + 0x3501a8))();\n  if (piVar6 == (int *)0x0) {\nLAB_00059458:\n    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10);\nLAB_0005947c:\n    puVar10 = &DAT_00003a18 + (int)puVar10;\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10);\n  }\n  else {\n    if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar9 = *piVar6;\n    if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }\n    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);\n    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar13 = *(code **)(pcVar14 + 0x3502a8);\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc);\n  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  }\n  pcVar14 = *(code **)(pcVar13 + 0x35014c);\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740);\n  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  }\n  pcVar13 = *(code **)(pcVar14 + 0x35007c);\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740);\n  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  iVar4 = (**(code **)(pcVar13 + 0x34fea0))();\n  if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar9 = iVar9 + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar9 = *(int *)(pcVar13 + 0x34f278);\n    if (piVar6[5] != -0x54535255) goto LAB_0005974c;\n    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar9 = iVar9 + 0x3984;\n  (**(code **)(pcVar13 + 0x34ffa0))\n            (*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar8 = 0x238;\n  pcVar14 = *(code **)(pcVar13 + 0x34ffa0);\n  pfVar11 = (float *)(iVar9 + 0x3984);\n  iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x370c;\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764);\n  (*pcVar14)();\n  iVar4 = (**(code **)(pcVar14 + 0x34fd9c))();\n  if (piVar6 != (int *)0x0) {\n    iVar12 = *(int *)(pcVar14 + 0x34f174);\n    if (piVar6[5] == -0x54535255) {\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }\n    (**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928);\n  }\n  uVar8 = 0x2ca;\n  pcVar13 = *(code **)(pcVar14 + 0x34fe9c);\n  pfVar11 = (float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928);\n  iVar9 = *(int *)(pcVar14 + 0x34f174) + 0x370c;\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740);\n  (*pcVar13)(piVar6,iVar9,0x2ca);\n  iVar4 = (**(code **)(pcVar13 + 0x34fbb0))();\n  if (piVar6 == (int *)0x0) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }\n  if (piVar6[5] != -0x54535255) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }\n  if (iVar4 < piVar6[2]) {\n    (**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);\n    pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);\n    iVar4 = *piVar6;\n    if (pfVar5 == (float *)0x0) {\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }\n    if (0 < *(int *)(iVar4 + 0x2c0)) {\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }\n    return (CacheView *)0x1;\n  }\n  pCVar3 = (CacheView *)\n           (**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n  return pCVar3;\n}" type_identifier (pointer_declarator "* DestroyCacheView(CacheView *cache_view)" * (function_declarator "DestroyCacheView(CacheView *cache_view)" identifier (parameter_list "(CacheView *cache_view)" ( (parameter_declaration "CacheView *cache_view" type_identifier (pointer_declarator "*cache_view" * identifier)) )))) (compound_statement "{\n  NexusInfo **ppNVar1;\n  Image *pIVar2;\n  CacheView *pCVar3;\n  int iVar4;\n  float *pfVar5;\n  int *piVar6;\n  float *pfVar7;\n  undefined4 uVar8;\n  int iVar9;\n  undefined1 *puVar10;\n  float *pfVar11;\n  int iVar12;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar13;\n  code *pcVar14;\n  float fVar16;\n  double dVar15;\n  double dVar17;\n  double dVar18;\n  double dVar19;\n  MagickSizeType MVar20;\n  undefined4 in_stack_fffffec0;\n  \n  if (cache_view != (CacheView *)0x0) {\n    if (cache_view->signature == 0xabacadab) {\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar6 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);\nLAB_00059228:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);\nLAB_00059248:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar6 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar13)(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  }\n  pcVar14 = *(code **)(pcVar13 + 0x350384);\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740);\n  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  iVar4 = (**(code **)(pcVar14 + 0x3501a8))();\n  if (piVar6 == (int *)0x0) {\nLAB_00059458:\n    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10);\nLAB_0005947c:\n    puVar10 = &DAT_00003a18 + (int)puVar10;\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10);\n  }\n  else {\n    if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar9 = *piVar6;\n    if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }\n    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);\n    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar13 = *(code **)(pcVar14 + 0x3502a8);\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc);\n  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  }\n  pcVar14 = *(code **)(pcVar13 + 0x35014c);\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740);\n  (*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  }\n  pcVar13 = *(code **)(pcVar14 + 0x35007c);\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740);\n  (*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  iVar4 = (**(code **)(pcVar13 + 0x34fea0))();\n  if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar9 = iVar9 + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar9 = *(int *)(pcVar13 + 0x34f278);\n    if (piVar6[5] != -0x54535255) goto LAB_0005974c;\n    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar9 = iVar9 + 0x3984;\n  (**(code **)(pcVar13 + 0x34ffa0))\n            (*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar8 = 0x238;\n  pcVar14 = *(code **)(pcVar13 + 0x34ffa0);\n  pfVar11 = (float *)(iVar9 + 0x3984);\n  iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x370c;\n  piVar6 = (int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764);\n  (*pcVar14)();\n  iVar4 = (**(code **)(pcVar14 + 0x34fd9c))();\n  if (piVar6 != (int *)0x0) {\n    iVar12 = *(int *)(pcVar14 + 0x34f174);\n    if (piVar6[5] == -0x54535255) {\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }\n    (**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928);\n  }\n  uVar8 = 0x2ca;\n  pcVar13 = *(code **)(pcVar14 + 0x34fe9c);\n  pfVar11 = (float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928);\n  iVar9 = *(int *)(pcVar14 + 0x34f174) + 0x370c;\n  piVar6 = (int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740);\n  (*pcVar13)(piVar6,iVar9,0x2ca);\n  iVar4 = (**(code **)(pcVar13 + 0x34fbb0))();\n  if (piVar6 == (int *)0x0) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }\n  if (piVar6[5] != -0x54535255) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }\n  if (iVar4 < piVar6[2]) {\n    (**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);\n    pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);\n    iVar4 = *piVar6;\n    if (pfVar5 == (float *)0x0) {\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }\n    if (0 < *(int *)(iVar4 + 0x2c0)) {\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }\n    return (CacheView *)0x1;\n  }\n  pCVar3 = (CacheView *)\n           (**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n  return pCVar3;\n}" { (declaration "NexusInfo **ppNVar1;" type_identifier (pointer_declarator "**ppNVar1" * (pointer_declarator "*ppNVar1" * identifier)) ;) (declaration "Image *pIVar2;" type_identifier (pointer_declarator "*pIVar2" * identifier) ;) (declaration "CacheView *pCVar3;" type_identifier (pointer_declarator "*pCVar3" * identifier) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "float *pfVar5;" primitive_type (pointer_declarator "*pfVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "float *pfVar7;" primitive_type (pointer_declarator "*pfVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "float *pfVar11;" primitive_type (pointer_declarator "*pfVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "undefined *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "float fVar16;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar17;" primitive_type identifier ;) (declaration "double dVar18;" primitive_type identifier ;) (declaration "double dVar19;" primitive_type identifier ;) (declaration "MagickSizeType MVar20;" type_identifier identifier ;) (declaration "undefined4 in_stack_fffffec0;" type_identifier identifier ;) (if_statement "if (cache_view != (CacheView *)0x0) {\n    if (cache_view->signature == 0xabacadab) {\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" if (parenthesized_expression "(cache_view != (CacheView *)0x0)" ( (binary_expression "cache_view != (CacheView *)0x0" identifier != (cast_expression "(CacheView *)0x0" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (cache_view->signature == 0xabacadab) {\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" { (if_statement "if (cache_view->signature == 0xabacadab) {\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }" if (parenthesized_expression "(cache_view->signature == 0xabacadab)" ( (binary_expression "cache_view->signature == 0xabacadab" (field_expression "cache_view->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }\n      if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }\n      pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);\n      cache_view->image = pIVar2;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      cache_view->signature = 0x54535254;\n                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);\n      return pCVar3;\n    }" { (if_statement "if (cache_view->debug != MagickFalse) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }" if (parenthesized_expression "(cache_view->debug != MagickFalse)" ( (binary_expression "cache_view->debug != MagickFalse" (field_expression "cache_view->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,cache_view->image->filename)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3abc" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (field_expression "cache_view->image->filename" (field_expression "cache_view->image" identifier -> field_identifier) -> field_identifier) ))) ;) })) (if_statement "if (cache_view->nexus_info != (NexusInfo **)0x0) {\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }" if (parenthesized_expression "(cache_view->nexus_info != (NexusInfo **)0x0)" ( (binary_expression "cache_view->nexus_info != (NexusInfo **)0x0" (field_expression "cache_view->nexus_info" identifier -> field_identifier) != (cast_expression "(NexusInfo **)0x0" ( (type_descriptor "NexusInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);\n        cache_view->nexus_info = ppNVar1;\n      }" { (expression_statement "ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads);" (assignment_expression "ppNVar1 = DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads)" identifier = (call_expression "DestroyPixelCacheNexus(cache_view->nexus_info,cache_view->number_threads)" identifier (argument_list "(cache_view->nexus_info,cache_view->number_threads)" ( (field_expression "cache_view->nexus_info" identifier -> field_identifier) , (field_expression "cache_view->number_threads" identifier -> field_identifier) )))) ;) (expression_statement "cache_view->nexus_info = ppNVar1;" (assignment_expression "cache_view->nexus_info = ppNVar1" (field_expression "cache_view->nexus_info" identifier -> field_identifier) = identifier) ;) })) (expression_statement "pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image);" (assignment_expression "pIVar2 = (Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image)" identifier = (cast_expression "(Image *)(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image)" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(cache_view->image)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(cache_view->image)" ( (field_expression "cache_view->image" identifier -> field_identifier) ))))) ;) (expression_statement "cache_view->image = pIVar2;" (assignment_expression "cache_view->image = pIVar2" (field_expression "cache_view->image" identifier -> field_identifier) = identifier) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc" identifier = identifier) ;) (expression_statement "cache_view->signature = 0x54535254;" (assignment_expression "cache_view->signature = 0x54535254" (field_expression "cache_view->signature" identifier -> field_identifier) = number_literal) ;) comment comment (expression_statement "pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view);" (assignment_expression "pCVar3 = (CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view)" identifier = (cast_expression "(CacheView *)(*(code *)UNRECOVERED_JUMPTABLE)(cache_view)" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(cache_view)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(cache_view)" ( identifier ))))) ;) (return_statement "return pCVar3;" return identifier ;) })) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3764" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" identifier + number_literal) ))) ;) })) (expression_statement "piVar6 = (int *)(PTR_LAB_003a88e0 + 0x3740);" (assignment_expression "piVar6 = (int *)(PTR_LAB_003a88e0 + 0x3740)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3740)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3740" identifier + number_literal) )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar6,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" identifier + number_literal) ))) ;) (expression_statement "iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();" (assignment_expression "iVar4 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350388)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350388" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);\nLAB_00059228:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);\nLAB_00059248:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);\nLAB_00059228:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);\nLAB_00059248:\n    iVar9 = iVar9 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }" { (expression_statement "iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;" (assignment_expression "iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar9)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00059228:\n    iVar9 = iVar9 + 0x3a7c;" statement_identifier : (expression_statement "iVar9 = iVar9 + 0x3a7c;" (assignment_expression "iVar9 = iVar9 + 0x3a7c" identifier = (binary_expression "iVar9 + 0x3a7c" identifier + number_literal)) ;)) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar9)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00059248:\n    iVar9 = iVar9 + 0x3a7c;" statement_identifier : (expression_statement "iVar9 = iVar9 + 0x3a7c;" (assignment_expression "iVar9 = iVar9 + 0x3a7c" identifier = (binary_expression "iVar9 + 0x3a7c" identifier + number_literal)) ;)) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" else (compound_statement "{\n    iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" { (expression_statement "iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);" (assignment_expression "iVar9 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" identifier = (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) ))))) ;) (if_statement "if (piVar6[5] == -0x54535255) {\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" if (parenthesized_expression "(piVar6[5] == -0x54535255)" ( (binary_expression "piVar6[5] == -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" { (if_statement "if (*(int *)(*piVar6 + 0x2d4) != 0) {\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" if (parenthesized_expression "(*(int *)(*piVar6 + 0x2d4) != 0)" ( (binary_expression "*(int *)(*piVar6 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar6 + 0x2d4)" * (cast_expression "(int *)(*piVar6 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 0x2d4)" ( (binary_expression "*piVar6 + 0x2d4" (pointer_expression "*piVar6" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" { (if_statement "if (iVar4 < piVar6[2]) {\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }" if (parenthesized_expression "(iVar4 < piVar6[2])" ( (binary_expression "iVar4 < piVar6[2]" identifier < (subscript_expression "piVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n          return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);\n        }" { (return_statement "return *(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c);" return (pointer_expression "*(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c)" * (cast_expression "(CacheView **)(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c)" ( (type_descriptor "CacheView **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(piVar6[3] + iVar4 * 4) + 0x2c)" ( (binary_expression "*(int *)(piVar6[3] + iVar4 * 4) + 0x2c" (pointer_expression "*(int *)(piVar6[3] + iVar4 * 4)" * (cast_expression "(int *)(piVar6[3] + iVar4 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6[3] + iVar4 * 4)" ( (binary_expression "piVar6[3] + iVar4 * 4" (subscript_expression "piVar6[3]" identifier [ number_literal ]) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) + number_literal) )))) ;) })) (goto_statement "goto LAB_00059228;" goto statement_identifier ;) })) (goto_statement "goto LAB_00059248;" goto statement_identifier ;) })) }))) (expression_statement "pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);" (assignment_expression "pcVar13 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);" (assignment_expression "piVar6 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" identifier = (cast_expression "(int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar13)(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c);" (call_expression "(*pcVar13)(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(piVar6,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar9 + 0x3a7c)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar9 + 0x3a7c" identifier + number_literal) ))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);\n  }" { (if_statement "if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }" if (parenthesized_expression "(piVar6[5] == -0x54535255)" ( (binary_expression "piVar6[5] == -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }" { (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }" if (parenthesized_expression "(piVar6[4] != 0)" ( (binary_expression "piVar6[4] != 0" (subscript_expression "piVar6[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);\n        iVar4 = *piVar6;\n      }" { (expression_statement "(**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c);" (call_expression "(**(code **)(pcVar13 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34ff5c))" ( (pointer_expression "**(code **)(pcVar13 + 0x34ff5c)" * (pointer_expression "*(code **)(pcVar13 + 0x34ff5c)" * (cast_expression "(code **)(pcVar13 + 0x34ff5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34ff5c)" ( (binary_expression "pcVar13 + 0x34ff5c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar13 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar13 + 0x34f660) + -0x62ac,iVar4 + 0x340,pcVar13 + 0x35762c)" ( number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x3a2c" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f660) + -0x62ac" (pointer_expression "*(int *)(pcVar13 + 0x34f660)" * (cast_expression "(int *)(pcVar13 + 0x34f660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f660)" ( (binary_expression "pcVar13 + 0x34f660" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar4 + 0x340" identifier + number_literal) , (binary_expression "pcVar13 + 0x35762c" identifier + number_literal) ))) ;) (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) })) (expression_statement "pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4));" (assignment_expression "pCVar3 = (CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4))" identifier = (cast_expression "(CacheView *)GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4))" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetPixelCacheColorspace(*(Cache *)(iVar4 + 0x2d4))" identifier (argument_list "(*(Cache *)(iVar4 + 0x2d4))" ( (pointer_expression "*(Cache *)(iVar4 + 0x2d4)" * (cast_expression "(Cache *)(iVar4 + 0x2d4)" ( (type_descriptor "Cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d4)" ( (binary_expression "iVar4 + 0x2d4" identifier + number_literal) )))) ))))) ;) (return_statement "return pCVar3;" return identifier ;) })) (expression_statement "(**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44);" (call_expression "(**(code **)(pcVar13 + 0x350384))\n              (*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(**(code **)(pcVar13 + 0x350384))" ( (pointer_expression "**(code **)(pcVar13 + 0x350384)" * (pointer_expression "*(code **)(pcVar13 + 0x350384)" * (cast_expression "(code **)(pcVar13 + 0x350384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x350384)" ( (binary_expression "pcVar13 + 0x350384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34f65c) + 0x3764,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar13 + 0x34f65c) + 0x3a44)" ( (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x3764" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x350384);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x350384)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x350384)" * (cast_expression "(code **)(pcVar13 + 0x350384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x350384)" ( (binary_expression "pcVar13 + 0x350384" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740);" (assignment_expression "piVar6 = (int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar13 + 0x34f65c) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x34f65c) + 0x3740)" ( (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x3740" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar13 + 0x34f65c) + 0x3a44);" (call_expression "(*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar13 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(piVar6,*(int *)(pcVar13 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar13 + 0x34f65c) + 0x3a44)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar13 + 0x34f65c)" * (cast_expression "(int *)(pcVar13 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f65c)" ( (binary_expression "pcVar13 + 0x34f65c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar14 + 0x3501a8))();" (assignment_expression "iVar4 = (**(code **)(pcVar14 + 0x3501a8))()" identifier = (call_expression "(**(code **)(pcVar14 + 0x3501a8))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x3501a8))" ( (pointer_expression "**(code **)(pcVar14 + 0x3501a8)" * (pointer_expression "*(code **)(pcVar14 + 0x3501a8)" * (cast_expression "(code **)(pcVar14 + 0x3501a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3501a8)" ( (binary_expression "pcVar14 + 0x3501a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar6 == (int *)0x0) {\nLAB_00059458:\n    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10);\nLAB_0005947c:\n    puVar10 = &DAT_00003a18 + (int)puVar10;\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10);\n  }\n  else {\n    if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar9 = *piVar6;\n    if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }\n    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);\n    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00059458:\n    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10);\nLAB_0005947c:\n    puVar10 = &DAT_00003a18 + (int)puVar10;\n    (**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10);\n  }" { (labeled_statement "LAB_00059458:\n    puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);" statement_identifier : (expression_statement "puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580);" (assignment_expression "puVar10 = &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580)" identifier = (binary_expression "&DAT_00003a18 + *(int *)(pcVar14 + 0x34f580)" (pointer_expression "&DAT_00003a18" & identifier) + (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))))) ;)) (expression_statement "(**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10);" (call_expression "(**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10)" (parenthesized_expression "(**(code **)(pcVar14 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar14 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar14 + 0x3502a8)" * (cast_expression "(code **)(pcVar14 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3502a8)" ( (binary_expression "pcVar14 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x34f580) + 0x3740,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c8,\n               puVar10)" ( (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x3740" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0005947c:\n    puVar10 = &DAT_00003a18 + (int)puVar10;" statement_identifier : (expression_statement "puVar10 = &DAT_00003a18 + (int)puVar10;" (assignment_expression "puVar10 = &DAT_00003a18 + (int)puVar10" identifier = (binary_expression "&DAT_00003a18 + (int)puVar10" (pointer_expression "&DAT_00003a18" & identifier) + (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "(**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10);" (call_expression "(**(code **)(pcVar14 + 0x3502a8))\n              (*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10)" (parenthesized_expression "(**(code **)(pcVar14 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar14 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar14 + 0x3502a8)" * (cast_expression "(code **)(pcVar14 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3502a8)" ( (binary_expression "pcVar14 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x34f580) + 0x3794,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1ce,\n               puVar10)" ( (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x3794" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar9 = *piVar6;\n    if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }\n    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);\n    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }\n  }" else (compound_statement "{\n    if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar9 = *piVar6;\n    if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }\n    puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);\n    if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }\n  }" { (if_statement "if (piVar6[5] != -0x54535255) {\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }" if (parenthesized_expression "(piVar6[5] != -0x54535255)" ( (binary_expression "piVar6[5] != -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));\n      goto LAB_00059458;\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580));" (call_expression "(**(code **)(pcVar14 + 0x3502a8))\n                (*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580))" (parenthesized_expression "(**(code **)(pcVar14 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar14 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar14 + 0x3502a8)" * (cast_expression "(code **)(pcVar14 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3502a8)" ( (binary_expression "pcVar14 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x34f580) + 0x3764,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar14 + 0x34f580))" ( (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x3764" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "&DAT_00003a18 + *(int *)(pcVar14 + 0x34f580)" (pointer_expression "&DAT_00003a18" & identifier) + (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) ))))) ))) ;) (goto_statement "goto LAB_00059458;" goto statement_identifier ;) })) (expression_statement "iVar9 = *piVar6;" (assignment_expression "iVar9 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (piVar6[4] != 0) {\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }" if (parenthesized_expression "(piVar6[4] != 0)" ( (binary_expression "piVar6[4] != 0" (subscript_expression "piVar6[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);\n      iVar9 = *piVar6;\n    }" { (expression_statement "(**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340);" (call_expression "(**(code **)(pcVar14 + 0x34fe80))\n                (0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340)" (parenthesized_expression "(**(code **)(pcVar14 + 0x34fe80))" ( (pointer_expression "**(code **)(pcVar14 + 0x34fe80)" * (pointer_expression "*(code **)(pcVar14 + 0x34fe80)" * (cast_expression "(code **)(pcVar14 + 0x34fe80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34fe80)" ( (binary_expression "pcVar14 + 0x34fe80" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar14 + 0x34f580) + 0x370c,*(int *)(pcVar14 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar14 + 0x34f584) + -0x62ac,iVar9 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x3a04" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x34f584) + -0x62ac" (pointer_expression "*(int *)(pcVar14 + 0x34f584)" * (cast_expression "(int *)(pcVar14 + 0x34f584)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f584)" ( (binary_expression "pcVar14 + 0x34f584" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar9 + 0x340" identifier + number_literal) ))) ;) (expression_statement "iVar9 = *piVar6;" (assignment_expression "iVar9 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) })) (expression_statement "puVar10 = *(undefined1 **)(pcVar14 + 0x34f580);" (assignment_expression "puVar10 = *(undefined1 **)(pcVar14 + 0x34f580)" identifier = (pointer_expression "*(undefined1 **)(pcVar14 + 0x34f580)" * (cast_expression "(undefined1 **)(pcVar14 + 0x34f580)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) ))))) ;) (if_statement "if (*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }" if (parenthesized_expression "(*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0)" ( (binary_expression "*(Cache *)(iVar9 + 0x2d4) != (Cache)0x0" (pointer_expression "*(Cache *)(iVar9 + 0x2d4)" * (cast_expression "(Cache *)(iVar9 + 0x2d4)" ( (type_descriptor "Cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2d4)" ( (binary_expression "iVar9 + 0x2d4" identifier + number_literal) )))) != (cast_expression "(Cache)0x0" ( (type_descriptor "Cache" type_identifier) ) number_literal)) )) (compound_statement "{\n      if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }\n      goto LAB_0005947c;\n    }" { (if_statement "if (iVar4 < piVar6[2]) {\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }" if (parenthesized_expression "(iVar4 < piVar6[2])" ( (binary_expression "iVar4 < piVar6[2]" identifier < (subscript_expression "piVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n        MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return (CacheView *)(MVar20 >> 0x20);\n      }" { (expression_statement "MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));" (assignment_expression "MVar20 = GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" identifier = (call_expression "GetPixelCacheNexusExtent\n                           (*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" identifier (argument_list "(*(Cache *)(iVar9 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" ( (pointer_expression "*(Cache *)(iVar9 + 0x2d4)" * (cast_expression "(Cache *)(iVar9 + 0x2d4)" ( (type_descriptor "Cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2d4)" ( (binary_expression "iVar9 + 0x2d4" identifier + number_literal) )))) , (pointer_expression "*(NexusInfo **)(piVar6[3] + iVar4 * 4)" * (cast_expression "(NexusInfo **)(piVar6[3] + iVar4 * 4)" ( (type_descriptor "NexusInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar6[3] + iVar4 * 4)" ( (binary_expression "piVar6[3] + iVar4 * 4" (subscript_expression "piVar6[3]" identifier [ number_literal ]) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) )))) ;) (return_statement "return (CacheView *)(MVar20 >> 0x20);" return (cast_expression "(CacheView *)(MVar20 >> 0x20)" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(MVar20 >> 0x20)" ( (binary_expression "MVar20 >> 0x20" identifier >> number_literal) ))) ;) })) (goto_statement "goto LAB_0005947c;" goto statement_identifier ;) })) }))) (expression_statement "pcVar13 = *(code **)(pcVar14 + 0x3502a8);" (assignment_expression "pcVar13 = *(code **)(pcVar14 + 0x3502a8)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x3502a8)" * (cast_expression "(code **)(pcVar14 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x3502a8)" ( (binary_expression "pcVar14 + 0x3502a8" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc);" (assignment_expression "piVar6 = (int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc)" identifier = (cast_expression "(int *)(*(int *)(pcVar14 + 0x34f580) + 0x37bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x34f580) + 0x37bc)" ( (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x37bc" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10);" (call_expression "(*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(piVar6,*(int *)(pcVar14 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar10)" ( identifier , (binary_expression "*(int *)(pcVar14 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f580)" * (cast_expression "(int *)(pcVar14 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f580)" ( (binary_expression "pcVar14 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "&DAT_00003a18 + (int)puVar10" (pointer_expression "&DAT_00003a18" & identifier) + (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar6[5] == -0x54535255) {\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }\n    (**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0);\n  }" { (if_statement "if (piVar6[5] == -0x54535255) {\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }" if (parenthesized_expression "(piVar6[5] == -0x54535255)" ( (binary_expression "piVar6[5] == -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pCVar3 = (CacheView *)*piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }\n      return pCVar3;\n    }" { (expression_statement "pCVar3 = (CacheView *)*piVar6;" (assignment_expression "pCVar3 = (CacheView *)*piVar6" identifier = (cast_expression "(CacheView *)*piVar6" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (if_statement "if (piVar6[4] != 0) {\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }" if (parenthesized_expression "(piVar6[4] != 0)" ( (binary_expression "piVar6[4] != 0" (subscript_expression "piVar6[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);\n        pCVar3 = (CacheView *)*piVar6;\n      }" { (expression_statement "(**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4);" (call_expression "(**(code **)(pcVar13 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fd24))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fd24)" * (pointer_expression "*(code **)(pcVar13 + 0x34fd24)" * (cast_expression "(code **)(pcVar13 + 0x34fd24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fd24)" ( (binary_expression "pcVar13 + 0x34fd24" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar13 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar13 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar13 + 0x34f428) + -0x62ac,&pCVar3[0x22].debug,pcVar13 + 0x3573f4)" ( number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x39dc" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f428) + -0x62ac" (pointer_expression "*(int *)(pcVar13 + 0x34f428)" * (cast_expression "(int *)(pcVar13 + 0x34f428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f428)" ( (binary_expression "pcVar13 + 0x34f428" identifier + number_literal) )))) + number_literal) , (pointer_expression "&pCVar3[0x22].debug" & (field_expression "pCVar3[0x22].debug" (subscript_expression "pCVar3[0x22]" identifier [ number_literal ]) . field_identifier)) , (binary_expression "pcVar13 + 0x3573f4" identifier + number_literal) ))) ;) (expression_statement "pCVar3 = (CacheView *)*piVar6;" (assignment_expression "pCVar3 = (CacheView *)*piVar6" identifier = (cast_expression "(CacheView *)*piVar6" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) })) (return_statement "return pCVar3;" return identifier ;) })) (expression_statement "(**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0);" (call_expression "(**(code **)(pcVar13 + 0x35014c))\n              (*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0)" (parenthesized_expression "(**(code **)(pcVar13 + 0x35014c))" ( (pointer_expression "**(code **)(pcVar13 + 0x35014c)" * (pointer_expression "*(code **)(pcVar13 + 0x35014c)" * (cast_expression "(code **)(pcVar13 + 0x35014c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x35014c)" ( (binary_expression "pcVar13 + 0x35014c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34f424) + 0x3764,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar13 + 0x34f424) + 0x39f0)" ( (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x3764" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x35014c);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x35014c)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x35014c)" * (cast_expression "(code **)(pcVar13 + 0x35014c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x35014c)" ( (binary_expression "pcVar13 + 0x35014c" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740);" (assignment_expression "piVar6 = (int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar13 + 0x34f424) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x34f424) + 0x3740)" ( (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x3740" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar13 + 0x34f424) + 0x39f0);" (call_expression "(*pcVar14)(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar13 + 0x34f424) + 0x39f0)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(piVar6,*(int *)(pcVar13 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar13 + 0x34f424) + 0x39f0)" ( identifier , (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar13 + 0x34f424)" * (cast_expression "(int *)(pcVar13 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f424)" ( (binary_expression "pcVar13 + 0x34f424" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }\n    (**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0);\n  }" { (if_statement "if (piVar6[5] == -0x54535255) {\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }" if (parenthesized_expression "(piVar6[5] == -0x54535255)" ( (binary_expression "piVar6[5] == -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar4 = *piVar6;\n      if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }\n      pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));\n      return pCVar3;\n    }" { (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (piVar6[4] != 0) {\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }" if (parenthesized_expression "(piVar6[4] != 0)" ( (binary_expression "piVar6[4] != 0" (subscript_expression "piVar6[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);\n        iVar4 = *piVar6;\n      }" { (expression_statement "(**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324);" (call_expression "(**(code **)(pcVar14 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324)" (parenthesized_expression "(**(code **)(pcVar14 + 0x34fc54))" ( (pointer_expression "**(code **)(pcVar14 + 0x34fc54)" * (pointer_expression "*(code **)(pcVar14 + 0x34fc54)" * (cast_expression "(code **)(pcVar14 + 0x34fc54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34fc54)" ( (binary_expression "pcVar14 + 0x34fc54" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar14 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar14 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar14 + 0x34f358) + -0x62ac,iVar4 + 0x340,pcVar14 + 0x357324)" ( number_literal , (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x39a4" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x34f358) + -0x62ac" (pointer_expression "*(int *)(pcVar14 + 0x34f358)" * (cast_expression "(int *)(pcVar14 + 0x34f358)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f358)" ( (binary_expression "pcVar14 + 0x34f358" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar4 + 0x340" identifier + number_literal) , (binary_expression "pcVar14 + 0x357324" identifier + number_literal) ))) ;) (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) })) (expression_statement "pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4));" (assignment_expression "pCVar3 = (CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4))" identifier = (cast_expression "(CacheView *)GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4))" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetPixelCacheStorageClass(*(Cache *)(iVar4 + 0x2d4))" identifier (argument_list "(*(Cache *)(iVar4 + 0x2d4))" ( (pointer_expression "*(Cache *)(iVar4 + 0x2d4)" * (cast_expression "(Cache *)(iVar4 + 0x2d4)" ( (type_descriptor "Cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d4)" ( (binary_expression "iVar4 + 0x2d4" identifier + number_literal) )))) ))))) ;) (return_statement "return pCVar3;" return identifier ;) })) (expression_statement "(**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0);" (call_expression "(**(code **)(pcVar14 + 0x35007c))\n              (*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0)" (parenthesized_expression "(**(code **)(pcVar14 + 0x35007c))" ( (pointer_expression "**(code **)(pcVar14 + 0x35007c)" * (pointer_expression "*(code **)(pcVar14 + 0x35007c)" * (cast_expression "(code **)(pcVar14 + 0x35007c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x35007c)" ( (binary_expression "pcVar14 + 0x35007c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x34f354) + 0x3764,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar14 + 0x34f354) + 0x39c0)" ( (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x3764" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar13 = *(code **)(pcVar14 + 0x35007c);" (assignment_expression "pcVar13 = *(code **)(pcVar14 + 0x35007c)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x35007c)" * (cast_expression "(code **)(pcVar14 + 0x35007c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x35007c)" ( (binary_expression "pcVar14 + 0x35007c" identifier + number_literal) ))))) ;) (expression_statement "piVar6 = (int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740);" (assignment_expression "piVar6 = (int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar14 + 0x34f354) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x34f354) + 0x3740)" ( (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x3740" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar14 + 0x34f354) + 0x39c0);" (call_expression "(*pcVar13)(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar14 + 0x34f354) + 0x39c0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(piVar6,*(int *)(pcVar14 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar14 + 0x34f354) + 0x39c0)" ( identifier , (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar14 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar14 + 0x34f354)" * (cast_expression "(int *)(pcVar14 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f354)" ( (binary_expression "pcVar14 + 0x34f354" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar13 + 0x34fea0))();" (assignment_expression "iVar4 = (**(code **)(pcVar13 + 0x34fea0))()" identifier = (call_expression "(**(code **)(pcVar13 + 0x34fea0))()" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fea0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fea0)" * (pointer_expression "*(code **)(pcVar13 + 0x34fea0)" * (cast_expression "(code **)(pcVar13 + 0x34fea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fea0)" ( (binary_expression "pcVar13 + 0x34fea0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar6 == (int *)0x0) {\n    iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar9 = iVar9 + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar9 = *(int *)(pcVar13 + 0x34f278);\n    if (piVar6[5] != -0x54535255) goto LAB_0005974c;\n    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar9 = iVar9 + 0x3984;\n    (**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);\n  }" { (expression_statement "iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984;" (assignment_expression "iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x3984" identifier = (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x3984" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237);" (call_expression "(**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar13 + 0x34ffa0)" * (cast_expression "(code **)(pcVar13 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34ffa0)" ( (binary_expression "pcVar13 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34f278) + 0x37e8,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x237)" ( (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x37e8" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (labeled_statement "LAB_00059710:\n    iVar9 = iVar9 + 0x3984;" statement_identifier : (expression_statement "iVar9 = iVar9 + 0x3984;" (assignment_expression "iVar9 = iVar9 + 0x3984" identifier = (binary_expression "iVar9 + 0x3984" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a);" (call_expression "(**(code **)(pcVar13 + 0x34ffa0))\n              (*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar13 + 0x34ffa0)" * (cast_expression "(code **)(pcVar13 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34ffa0)" ( (binary_expression "pcVar13 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34f278) + 0x3794,*(int *)(pcVar13 + 0x34f278) + 0x370c,0x23a)" ( (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x3794" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    iVar9 = *(int *)(pcVar13 + 0x34f278);\n    if (piVar6[5] != -0x54535255) goto LAB_0005974c;\n    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }\n  }" else (compound_statement "{\n    iVar9 = *(int *)(pcVar13 + 0x34f278);\n    if (piVar6[5] != -0x54535255) goto LAB_0005974c;\n    if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }\n  }" { (expression_statement "iVar9 = *(int *)(pcVar13 + 0x34f278);" (assignment_expression "iVar9 = *(int *)(pcVar13 + 0x34f278)" identifier = (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) ))))) ;) (if_statement "if (piVar6[5] != -0x54535255) goto LAB_0005974c;" if (parenthesized_expression "(piVar6[5] != -0x54535255)" ( (binary_expression "piVar6[5] != -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0005974c;" goto statement_identifier ;)) (if_statement "if (*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0) {\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }" if (parenthesized_expression "(*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0)" ( (binary_expression "*(Cache *)(*piVar6 + 0x2d4) != (Cache)0x0" (pointer_expression "*(Cache *)(*piVar6 + 0x2d4)" * (cast_expression "(Cache *)(*piVar6 + 0x2d4)" ( (type_descriptor "Cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 0x2d4)" ( (binary_expression "*piVar6 + 0x2d4" (pointer_expression "*piVar6" * identifier) + number_literal) )))) != (cast_expression "(Cache)0x0" ( (type_descriptor "Cache" type_identifier) ) number_literal)) )) (compound_statement "{\n      if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }\n      goto LAB_00059710;\n    }" { (if_statement "if (iVar4 < piVar6[2]) {\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }" if (parenthesized_expression "(iVar4 < piVar6[2])" ( (binary_expression "iVar4 < piVar6[2]" identifier < (subscript_expression "piVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n        pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));\n        return pCVar3;\n      }" { (expression_statement "pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4));" (assignment_expression "pCVar3 = (CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" identifier = (cast_expression "(CacheView *)\n                 GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "GetVirtualMetacontentFromNexus\n                           (*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" identifier (argument_list "(*(Cache *)(*piVar6 + 0x2d4),*(NexusInfo **)(piVar6[3] + iVar4 * 4))" ( (pointer_expression "*(Cache *)(*piVar6 + 0x2d4)" * (cast_expression "(Cache *)(*piVar6 + 0x2d4)" ( (type_descriptor "Cache *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 0x2d4)" ( (binary_expression "*piVar6 + 0x2d4" (pointer_expression "*piVar6" * identifier) + number_literal) )))) , (pointer_expression "*(NexusInfo **)(piVar6[3] + iVar4 * 4)" * (cast_expression "(NexusInfo **)(piVar6[3] + iVar4 * 4)" ( (type_descriptor "NexusInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar6[3] + iVar4 * 4)" ( (binary_expression "piVar6[3] + iVar4 * 4" (subscript_expression "piVar6[3]" identifier [ number_literal ]) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) ))))) ;) (return_statement "return pCVar3;" return identifier ;) })) (goto_statement "goto LAB_00059710;" goto statement_identifier ;) })) }))) (expression_statement "iVar9 = iVar9 + 0x3984;" (assignment_expression "iVar9 = iVar9 + 0x3984" identifier = (binary_expression "iVar9 + 0x3984" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar13 + 0x34ffa0))\n            (*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c);" (call_expression "(**(code **)(pcVar13 + 0x34ffa0))\n            (*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar13 + 0x34ffa0)" * (cast_expression "(code **)(pcVar13 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34ffa0)" ( (binary_expression "pcVar13 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34f278) + 0x37bc,*(int *)(pcVar13 + 0x34f278) + 0x370c)" ( (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x37bc" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0005974c:\n  uVar8 = 0x238;" statement_identifier : (expression_statement "uVar8 = 0x238;" (assignment_expression "uVar8 = 0x238" identifier = number_literal) ;)) (expression_statement "pcVar14 = *(code **)(pcVar13 + 0x34ffa0);" (assignment_expression "pcVar14 = *(code **)(pcVar13 + 0x34ffa0)" identifier = (pointer_expression "*(code **)(pcVar13 + 0x34ffa0)" * (cast_expression "(code **)(pcVar13 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34ffa0)" ( (binary_expression "pcVar13 + 0x34ffa0" identifier + number_literal) ))))) ;) (expression_statement "pfVar11 = (float *)(iVar9 + 0x3984);" (assignment_expression "pfVar11 = (float *)(iVar9 + 0x3984)" identifier = (cast_expression "(float *)(iVar9 + 0x3984)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3984)" ( (binary_expression "iVar9 + 0x3984" identifier + number_literal) )))) ;) (expression_statement "iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x370c;" (assignment_expression "iVar9 = *(int *)(pcVar13 + 0x34f278) + 0x370c" identifier = (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar6 = (int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764);" (assignment_expression "piVar6 = (int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764)" identifier = (cast_expression "(int *)(*(int *)(pcVar13 + 0x34f278) + 0x3764)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0x34f278) + 0x3764)" ( (binary_expression "*(int *)(pcVar13 + 0x34f278) + 0x3764" (pointer_expression "*(int *)(pcVar13 + 0x34f278)" * (cast_expression "(int *)(pcVar13 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34f278)" ( (binary_expression "pcVar13 + 0x34f278" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar14)();" (call_expression "(*pcVar14)()" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar14 + 0x34fd9c))();" (assignment_expression "iVar4 = (**(code **)(pcVar14 + 0x34fd9c))()" identifier = (call_expression "(**(code **)(pcVar14 + 0x34fd9c))()" (parenthesized_expression "(**(code **)(pcVar14 + 0x34fd9c))" ( (pointer_expression "**(code **)(pcVar14 + 0x34fd9c)" * (pointer_expression "*(code **)(pcVar14 + 0x34fd9c)" * (cast_expression "(code **)(pcVar14 + 0x34fd9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34fd9c)" ( (binary_expression "pcVar14 + 0x34fd9c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n    iVar12 = *(int *)(pcVar14 + 0x34f174);\n    if (piVar6[5] == -0x54535255) {\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }\n    (**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928);\n  }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar12 = *(int *)(pcVar14 + 0x34f174);\n    if (piVar6[5] == -0x54535255) {\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }\n    (**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928);\n  }" { (expression_statement "iVar12 = *(int *)(pcVar14 + 0x34f174);" (assignment_expression "iVar12 = *(int *)(pcVar14 + 0x34f174)" identifier = (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) ))))) ;) (if_statement "if (piVar6[5] == -0x54535255) {\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }" if (parenthesized_expression "(piVar6[5] == -0x54535255)" ( (binary_expression "piVar6[5] == -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }\n      iVar12 = iVar12 + 0x3928;\n      (**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);\n    }" { (if_statement "if (iVar4 < piVar6[2]) {\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }" if (parenthesized_expression "(iVar4 < piVar6[2])" ( (binary_expression "iVar4 < piVar6[2]" identifier < (subscript_expression "piVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n        (**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);\n        pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);\n        iVar4 = *piVar6;\n        if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }\n        if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }\n        return (CacheView *)0x1;\n      }" { (expression_statement "(**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100);" (call_expression "(**(code **)(pcVar14 + 0x34ff68))(pfVar11,0,0x100)" (parenthesized_expression "(**(code **)(pcVar14 + 0x34ff68))" ( (pointer_expression "**(code **)(pcVar14 + 0x34ff68)" * (pointer_expression "*(code **)(pcVar14 + 0x34ff68)" * (cast_expression "(code **)(pcVar14 + 0x34ff68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34ff68)" ( (binary_expression "pcVar14 + 0x34ff68" identifier + number_literal) ))))) )) (argument_list "(pfVar11,0,0x100)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248);" (assignment_expression "pfVar5 = (float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248)" identifier = (cast_expression "(float *)(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar14 + 0x34f2a8))\n                                    (*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248)" (parenthesized_expression "(**(code **)(pcVar14 + 0x34f2a8))" ( (pointer_expression "**(code **)(pcVar14 + 0x34f2a8)" * (pointer_expression "*(code **)(pcVar14 + 0x34f2a8)" * (cast_expression "(code **)(pcVar14 + 0x34f2a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34f2a8)" ( (binary_expression "pcVar14 + 0x34f2a8" identifier + number_literal) ))))) )) (argument_list "(*piVar6,iVar9,uVar8,1,1,*(undefined4 *)(piVar6[3] + iVar4 * 4),\n                                     pcVar13 + 0x357248)" ( (pointer_expression "*piVar6" * identifier) , identifier , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(piVar6[3] + iVar4 * 4)" * (cast_expression "(undefined4 *)(piVar6[3] + iVar4 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6[3] + iVar4 * 4)" ( (binary_expression "piVar6[3] + iVar4 * 4" (subscript_expression "piVar6[3]" identifier [ number_literal ]) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) , (binary_expression "pcVar13 + 0x357248" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (pfVar5 == (float *)0x0) {\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }" if (parenthesized_expression "(pfVar5 == (float *)0x0)" ( (binary_expression "pfVar5 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          dVar19 = *(double *)(iVar4 + 0xc0);\n          dVar18 = *(double *)(iVar4 + 200);\n          dVar17 = *(double *)(iVar4 + 0xd0);\n          dVar15 = *(double *)(iVar4 + 0xb0);\n          pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n          pfVar11[2] = (float)dVar19;\n          pfVar11[3] = (float)dVar18;\n          pfVar11[4] = (float)dVar17;\n          *pfVar11 = (float)dVar15;\n          return (CacheView *)0x0;\n        }" { (expression_statement "dVar19 = *(double *)(iVar4 + 0xc0);" (assignment_expression "dVar19 = *(double *)(iVar4 + 0xc0)" identifier = (pointer_expression "*(double *)(iVar4 + 0xc0)" * (cast_expression "(double *)(iVar4 + 0xc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc0)" ( (binary_expression "iVar4 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(iVar4 + 200);" (assignment_expression "dVar18 = *(double *)(iVar4 + 200)" identifier = (pointer_expression "*(double *)(iVar4 + 200)" * (cast_expression "(double *)(iVar4 + 200)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 200)" ( (binary_expression "iVar4 + 200" identifier + number_literal) ))))) ;) (expression_statement "dVar17 = *(double *)(iVar4 + 0xd0);" (assignment_expression "dVar17 = *(double *)(iVar4 + 0xd0)" identifier = (pointer_expression "*(double *)(iVar4 + 0xd0)" * (cast_expression "(double *)(iVar4 + 0xd0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd0)" ( (binary_expression "iVar4 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "dVar15 = *(double *)(iVar4 + 0xb0);" (assignment_expression "dVar15 = *(double *)(iVar4 + 0xb0)" identifier = (pointer_expression "*(double *)(iVar4 + 0xb0)" * (cast_expression "(double *)(iVar4 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xb0)" ( (binary_expression "iVar4 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);" (assignment_expression "pfVar11[1] = (float)*(double *)(iVar4 + 0xb8)" (subscript_expression "pfVar11[1]" identifier [ number_literal ]) = (cast_expression "(float)*(double *)(iVar4 + 0xb8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar4 + 0xb8)" * (cast_expression "(double *)(iVar4 + 0xb8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xb8)" ( (binary_expression "iVar4 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "pfVar11[2] = (float)dVar19;" (assignment_expression "pfVar11[2] = (float)dVar19" (subscript_expression "pfVar11[2]" identifier [ number_literal ]) = (cast_expression "(float)dVar19" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar11[3] = (float)dVar18;" (assignment_expression "pfVar11[3] = (float)dVar18" (subscript_expression "pfVar11[3]" identifier [ number_literal ]) = (cast_expression "(float)dVar18" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar11[4] = (float)dVar17;" (assignment_expression "pfVar11[4] = (float)dVar17" (subscript_expression "pfVar11[4]" identifier [ number_literal ]) = (cast_expression "(float)dVar17" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar11 = (float)dVar15;" (assignment_expression "*pfVar11 = (float)dVar15" (pointer_expression "*pfVar11" * identifier) = (cast_expression "(float)dVar15" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (return_statement "return (CacheView *)0x0;" return (cast_expression "(CacheView *)0x0" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (0 < *(int *)(iVar4 + 0x2c0)) {\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }" if (parenthesized_expression "(0 < *(int *)(iVar4 + 0x2c0))" ( (binary_expression "0 < *(int *)(iVar4 + 0x2c0)" number_literal < (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) ))))) )) (compound_statement "{\n          piVar6 = *(int **)(iVar4 + 0x2d0);\n          pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n          do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);\n        }" { (expression_statement "piVar6 = *(int **)(iVar4 + 0x2d0);" (assignment_expression "piVar6 = *(int **)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar4 + 0x2d0)" * (cast_expression "(int **)(iVar4 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);" (assignment_expression "pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0)" identifier = (binary_expression "pfVar5 + *(int *)(iVar4 + 0x2c0)" identifier + (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) )))))) ;) (do_statement "do {\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          } while (pfVar5 != pfVar7);" do (compound_statement "{\n            fVar16 = *pfVar5;\n            pfVar5 = pfVar5 + 1;\n            iVar4 = *piVar6;\n            piVar6 = piVar6 + 3;\n            pfVar11[iVar4] = fVar16;\n          }" { (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar6 = piVar6 + 3;" (assignment_expression "piVar6 = piVar6 + 3" identifier = (binary_expression "piVar6 + 3" identifier + number_literal)) ;) (expression_statement "pfVar11[iVar4] = fVar16;" (assignment_expression "pfVar11[iVar4] = fVar16" (subscript_expression "pfVar11[iVar4]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(pfVar5 != pfVar7)" ( (binary_expression "pfVar5 != pfVar7" identifier != identifier) )) ;) })) (return_statement "return (CacheView *)0x1;" return (cast_expression "(CacheView *)0x1" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "iVar12 = iVar12 + 0x3928;" (assignment_expression "iVar12 = iVar12 + 0x3928" identifier = (binary_expression "iVar12 + 0x3928" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12);" (call_expression "(**(code **)(pcVar14 + 0x34fe9c))\n                (*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12)" (parenthesized_expression "(**(code **)(pcVar14 + 0x34fe9c))" ( (pointer_expression "**(code **)(pcVar14 + 0x34fe9c)" * (pointer_expression "*(code **)(pcVar14 + 0x34fe9c)" * (cast_expression "(code **)(pcVar14 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34fe9c)" ( (binary_expression "pcVar14 + 0x34fe9c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x34f174) + 0x3794,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cc,\n                 iVar12)" ( (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x3794" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928);" (call_expression "(**(code **)(pcVar14 + 0x34fe9c))\n              (*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928)" (parenthesized_expression "(**(code **)(pcVar14 + 0x34fe9c))" ( (pointer_expression "**(code **)(pcVar14 + 0x34fe9c)" * (pointer_expression "*(code **)(pcVar14 + 0x34fe9c)" * (cast_expression "(code **)(pcVar14 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34fe9c)" ( (binary_expression "pcVar14 + 0x34fe9c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar14 + 0x34f174) + 0x3764,*(int *)(pcVar14 + 0x34f174) + 0x370c,0x2cb,\n               iVar12 + 0x3928)" ( (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x3764" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar12 + 0x3928" identifier + number_literal) ))) ;) })) (expression_statement "uVar8 = 0x2ca;" (assignment_expression "uVar8 = 0x2ca" identifier = number_literal) ;) (expression_statement "pcVar13 = *(code **)(pcVar14 + 0x34fe9c);" (assignment_expression "pcVar13 = *(code **)(pcVar14 + 0x34fe9c)" identifier = (pointer_expression "*(code **)(pcVar14 + 0x34fe9c)" * (cast_expression "(code **)(pcVar14 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar14 + 0x34fe9c)" ( (binary_expression "pcVar14 + 0x34fe9c" identifier + number_literal) ))))) ;) (expression_statement "pfVar11 = (float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928);" (assignment_expression "pfVar11 = (float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928)" identifier = (cast_expression "(float *)(*(int *)(pcVar14 + 0x34f174) + 0x3928)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x34f174) + 0x3928)" ( (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x3928" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar9 = *(int *)(pcVar14 + 0x34f174) + 0x370c;" (assignment_expression "iVar9 = *(int *)(pcVar14 + 0x34f174) + 0x370c" identifier = (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar6 = (int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740);" (assignment_expression "piVar6 = (int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar14 + 0x34f174) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar14 + 0x34f174) + 0x3740)" ( (binary_expression "*(int *)(pcVar14 + 0x34f174) + 0x3740" (pointer_expression "*(int *)(pcVar14 + 0x34f174)" * (cast_expression "(int *)(pcVar14 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar14 + 0x34f174)" ( (binary_expression "pcVar14 + 0x34f174" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar13)(piVar6,iVar9,0x2ca);" (call_expression "(*pcVar13)(piVar6,iVar9,0x2ca)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(piVar6,iVar9,0x2ca)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar4 = (**(code **)(pcVar13 + 0x34fbb0))();" (assignment_expression "iVar4 = (**(code **)(pcVar13 + 0x34fbb0))()" identifier = (call_expression "(**(code **)(pcVar13 + 0x34fbb0))()" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fbb0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fbb0)" * (pointer_expression "*(code **)(pcVar13 + 0x34fbb0)" * (cast_expression "(code **)(pcVar13 + 0x34fbb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fbb0)" ( (binary_expression "pcVar13 + 0x34fbb0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar6 == (int *)0x0) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }" if (parenthesized_expression "(piVar6 == (int *)0x0)" ( (binary_expression "piVar6 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }" { (expression_statement "pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c);" (assignment_expression "pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" identifier = (cast_expression "(CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar13 + 0x34fcb0)" * (cast_expression "(code **)(pcVar13 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fcb0)" ( (binary_expression "pcVar13 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34ef88) + 0x3740,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x312,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x3740" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pCVar3;" return identifier ;) })) (if_statement "if (piVar6[5] != -0x54535255) {\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }" if (parenthesized_expression "(piVar6[5] != -0x54535255)" ( (binary_expression "piVar6[5] != -0x54535255" (subscript_expression "piVar6[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);\n    return pCVar3;\n  }" { (expression_statement "pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c);" (assignment_expression "pCVar3 = (CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" identifier = (cast_expression "(CacheView *)\n             (**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar13 + 0x34fcb0))\n                       (*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar13 + 0x34fcb0)" * (cast_expression "(code **)(pcVar13 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fcb0)" ( (binary_expression "pcVar13 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34ef88) + 0x3764,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                        0x313,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x3764" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pCVar3;" return identifier ;) })) (if_statement "if (iVar4 < piVar6[2]) {\n    (**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);\n    pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);\n    iVar4 = *piVar6;\n    if (pfVar5 == (float *)0x0) {\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }\n    if (0 < *(int *)(iVar4 + 0x2c0)) {\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }\n    return (CacheView *)0x1;\n  }" if (parenthesized_expression "(iVar4 < piVar6[2])" ( (binary_expression "iVar4 < piVar6[2]" identifier < (subscript_expression "piVar6[2]" identifier [ number_literal ])) )) (compound_statement "{\n    (**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);\n    pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);\n    iVar4 = *piVar6;\n    if (pfVar5 == (float *)0x0) {\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }\n    if (0 < *(int *)(iVar4 + 0x2c0)) {\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }\n    return (CacheView *)0x1;\n  }" { (expression_statement "(**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100);" (call_expression "(**(code **)(pcVar13 + 0x34fd7c))(pfVar11,0,0x100)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fd7c))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fd7c)" * (pointer_expression "*(code **)(pcVar13 + 0x34fd7c)" * (cast_expression "(code **)(pcVar13 + 0x34fd7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fd7c)" ( (binary_expression "pcVar13 + 0x34fd7c" identifier + number_literal) ))))) )) (argument_list "(pfVar11,0,0x100)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0);" (assignment_expression "pfVar5 = (float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0)" identifier = (cast_expression "(float *)(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar13 + 0x34f0ac))\n                                (*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34f0ac))" ( (pointer_expression "**(code **)(pcVar13 + 0x34f0ac)" * (pointer_expression "*(code **)(pcVar13 + 0x34f0ac)" * (cast_expression "(code **)(pcVar13 + 0x34f0ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34f0ac)" ( (binary_expression "pcVar13 + 0x34f0ac" identifier + number_literal) ))))) )) (argument_list "(*piVar6,piVar6[1],iVar9,uVar8,1,1,\n                                 *(undefined4 *)(piVar6[3] + iVar4 * 4),in_stack_fffffec0)" ( (pointer_expression "*piVar6" * identifier) , (subscript_expression "piVar6[1]" identifier [ number_literal ]) , identifier , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(piVar6[3] + iVar4 * 4)" * (cast_expression "(undefined4 *)(piVar6[3] + iVar4 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar6[3] + iVar4 * 4)" ( (binary_expression "piVar6[3] + iVar4 * 4" (subscript_expression "piVar6[3]" identifier [ number_literal ]) + (binary_expression "iVar4 * 4" identifier * number_literal)) )))) , identifier ))))) ;) (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (if_statement "if (pfVar5 == (float *)0x0) {\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }" if (parenthesized_expression "(pfVar5 == (float *)0x0)" ( (binary_expression "pfVar5 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar19 = *(double *)(iVar4 + 0xc0);\n      dVar18 = *(double *)(iVar4 + 200);\n      dVar17 = *(double *)(iVar4 + 0xd0);\n      dVar15 = *(double *)(iVar4 + 0xb0);\n      pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);\n      pfVar11[2] = (float)dVar19;\n      pfVar11[3] = (float)dVar18;\n      pfVar11[4] = (float)dVar17;\n      *pfVar11 = (float)dVar15;\n      return (CacheView *)0x0;\n    }" { (expression_statement "dVar19 = *(double *)(iVar4 + 0xc0);" (assignment_expression "dVar19 = *(double *)(iVar4 + 0xc0)" identifier = (pointer_expression "*(double *)(iVar4 + 0xc0)" * (cast_expression "(double *)(iVar4 + 0xc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xc0)" ( (binary_expression "iVar4 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "dVar18 = *(double *)(iVar4 + 200);" (assignment_expression "dVar18 = *(double *)(iVar4 + 200)" identifier = (pointer_expression "*(double *)(iVar4 + 200)" * (cast_expression "(double *)(iVar4 + 200)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 200)" ( (binary_expression "iVar4 + 200" identifier + number_literal) ))))) ;) (expression_statement "dVar17 = *(double *)(iVar4 + 0xd0);" (assignment_expression "dVar17 = *(double *)(iVar4 + 0xd0)" identifier = (pointer_expression "*(double *)(iVar4 + 0xd0)" * (cast_expression "(double *)(iVar4 + 0xd0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xd0)" ( (binary_expression "iVar4 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "dVar15 = *(double *)(iVar4 + 0xb0);" (assignment_expression "dVar15 = *(double *)(iVar4 + 0xb0)" identifier = (pointer_expression "*(double *)(iVar4 + 0xb0)" * (cast_expression "(double *)(iVar4 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xb0)" ( (binary_expression "iVar4 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "pfVar11[1] = (float)*(double *)(iVar4 + 0xb8);" (assignment_expression "pfVar11[1] = (float)*(double *)(iVar4 + 0xb8)" (subscript_expression "pfVar11[1]" identifier [ number_literal ]) = (cast_expression "(float)*(double *)(iVar4 + 0xb8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar4 + 0xb8)" * (cast_expression "(double *)(iVar4 + 0xb8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0xb8)" ( (binary_expression "iVar4 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "pfVar11[2] = (float)dVar19;" (assignment_expression "pfVar11[2] = (float)dVar19" (subscript_expression "pfVar11[2]" identifier [ number_literal ]) = (cast_expression "(float)dVar19" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar11[3] = (float)dVar18;" (assignment_expression "pfVar11[3] = (float)dVar18" (subscript_expression "pfVar11[3]" identifier [ number_literal ]) = (cast_expression "(float)dVar18" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar11[4] = (float)dVar17;" (assignment_expression "pfVar11[4] = (float)dVar17" (subscript_expression "pfVar11[4]" identifier [ number_literal ]) = (cast_expression "(float)dVar17" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar11 = (float)dVar15;" (assignment_expression "*pfVar11 = (float)dVar15" (pointer_expression "*pfVar11" * identifier) = (cast_expression "(float)dVar15" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (return_statement "return (CacheView *)0x0;" return (cast_expression "(CacheView *)0x0" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (0 < *(int *)(iVar4 + 0x2c0)) {\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }" if (parenthesized_expression "(0 < *(int *)(iVar4 + 0x2c0))" ( (binary_expression "0 < *(int *)(iVar4 + 0x2c0)" number_literal < (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) ))))) )) (compound_statement "{\n      piVar6 = *(int **)(iVar4 + 0x2d0);\n      pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);\n      do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);\n    }" { (expression_statement "piVar6 = *(int **)(iVar4 + 0x2d0);" (assignment_expression "piVar6 = *(int **)(iVar4 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar4 + 0x2d0)" * (cast_expression "(int **)(iVar4 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar4 + 0x2d0)" ( (binary_expression "iVar4 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0);" (assignment_expression "pfVar7 = pfVar5 + *(int *)(iVar4 + 0x2c0)" identifier = (binary_expression "pfVar5 + *(int *)(iVar4 + 0x2c0)" identifier + (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) )))))) ;) (do_statement "do {\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      } while (pfVar5 != pfVar7);" do (compound_statement "{\n        fVar16 = *pfVar5;\n        pfVar5 = pfVar5 + 1;\n        iVar4 = *piVar6;\n        piVar6 = piVar6 + 3;\n        pfVar11[iVar4] = fVar16;\n      }" { (expression_statement "fVar16 = *pfVar5;" (assignment_expression "fVar16 = *pfVar5" identifier = (pointer_expression "*pfVar5" * identifier)) ;) (expression_statement "pfVar5 = pfVar5 + 1;" (assignment_expression "pfVar5 = pfVar5 + 1" identifier = (binary_expression "pfVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar4 = *piVar6;" (assignment_expression "iVar4 = *piVar6" identifier = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "piVar6 = piVar6 + 3;" (assignment_expression "piVar6 = piVar6 + 3" identifier = (binary_expression "piVar6 + 3" identifier + number_literal)) ;) (expression_statement "pfVar11[iVar4] = fVar16;" (assignment_expression "pfVar11[iVar4] = fVar16" (subscript_expression "pfVar11[iVar4]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(pfVar5 != pfVar7)" ( (binary_expression "pfVar5 != pfVar7" identifier != identifier) )) ;) })) (return_statement "return (CacheView *)0x1;" return (cast_expression "(CacheView *)0x1" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (expression_statement "pCVar3 = (CacheView *)\n           (**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c);" (assignment_expression "pCVar3 = (CacheView *)\n           (**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" identifier = (cast_expression "(CacheView *)\n           (**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" ( (type_descriptor "CacheView *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar13 + 0x34fcb0))\n                     (*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar13 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar13 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar13 + 0x34fcb0)" * (cast_expression "(code **)(pcVar13 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar13 + 0x34fcb0)" ( (binary_expression "pcVar13 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar13 + 0x34ef88) + 0x3794,*(int *)(pcVar13 + 0x34ef88) + 0x370c,\n                      0x314,*(int *)(pcVar13 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x3794" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar13 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar13 + 0x34ef88)" * (cast_expression "(int *)(pcVar13 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0x34ef88)" ( (binary_expression "pcVar13 + 0x34ef88" identifier + number_literal) )))) + number_literal) ))))) ;) (return_statement "return pCVar3;" return identifier ;) })))
(translation_unit "int DestroyCacheView(int *param_1)\n\n{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}\n\n" (function_definition "int DestroyCacheView(int *param_1)\n\n{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}" primitive_type (function_declarator "DestroyCacheView(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "float *pfVar2;" primitive_type (pointer_declarator "*pfVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "float *pfVar4;" primitive_type (pointer_declarator "*pfVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "float *pfVar8;" primitive_type (pointer_declarator "*pfVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "float fVar13;" primitive_type identifier ;) (declaration "double dVar12;" primitive_type identifier ;) (declaration "double dVar14;" primitive_type identifier ;) (declaration "double dVar15;" primitive_type identifier ;) (declaration "double dVar16;" primitive_type identifier ;) (declaration "undefined4 in_stack_fffffec0;" type_identifier identifier ;) (if_statement "if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" if (parenthesized_expression "(param_1 != (int *)0x0)" ( (binary_expression "param_1 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" { (if_statement "if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }" if (parenthesized_expression "(param_1[5] == -0x54535255)" ( (binary_expression "param_1[5] == -0x54535255" (subscript_expression "param_1[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }" { (if_statement "if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }" { (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" * (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340)" ( number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x3abc" identifier + number_literal) , number_literal , (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" identifier + number_literal) , (binary_expression "*param_1 + 0x340" (pointer_expression "*param_1" * identifier) + number_literal) ))) ;) })) (if_statement "if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }" if (parenthesized_expression "(param_1[3] != 0)" ( (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }" { (expression_statement "iVar1 = FUN_000534b4(param_1[3],param_1[2]);" (assignment_expression "iVar1 = FUN_000534b4(param_1[3],param_1[2])" identifier = (call_expression "FUN_000534b4(param_1[3],param_1[2])" identifier (argument_list "(param_1[3],param_1[2])" ( (subscript_expression "param_1[3]" identifier [ number_literal ]) , (subscript_expression "param_1[2]" identifier [ number_literal ]) )))) ;) (expression_statement "param_1[3] = iVar1;" (assignment_expression "param_1[3] = iVar1" (subscript_expression "param_1[3]" identifier [ number_literal ]) = identifier) ;) })) (expression_statement "iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);" (assignment_expression "iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" identifier = (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" ( (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" * (cast_expression "(code *)PTR_DestroyImage_003a8f4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) )))) ;) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc" identifier = identifier) ;) (expression_statement "param_1[5] = 0x54535254;" (assignment_expression "param_1[5] = 0x54535254" (subscript_expression "param_1[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);" (assignment_expression "iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1)" identifier = (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(param_1)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3764" identifier + number_literal) , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" identifier + number_literal) ))) ;) })) (expression_statement "piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);" (assignment_expression "piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740)" identifier = (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3740)" ( (binary_expression "PTR_LAB_003a88e0 + 0x3740" identifier + number_literal) )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608" identifier = identifier) ;) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" ( (pointer_expression "*(code *)PTR___assert_fail_003a9608" * (cast_expression "(code *)PTR___assert_fail_003a9608" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" ( identifier , (binary_expression "PTR_LAB_003a88e0 + 0x370c" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" identifier + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();" (assignment_expression "iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" identifier = (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350388)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350388" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }" { (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" identifier = (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;" statement_identifier : (expression_statement "iVar6 = iVar6 + 0x3a7c;" (assignment_expression "iVar6 = iVar6 + 0x3a7c" identifier = (binary_expression "iVar6 + 0x3a7c" identifier + number_literal)) ;)) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;" statement_identifier : (expression_statement "iVar6 = iVar6 + 0x3a7c;" (assignment_expression "iVar6 = iVar6 + 0x3a7c" identifier = (binary_expression "iVar6 + 0x3a7c" identifier + number_literal)) ;)) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" ( (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) )) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" else (compound_statement "{\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" { (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" identifier = (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) ))))) ;) (if_statement "if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" { (if_statement "if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" if (parenthesized_expression "(*(int *)(*piVar3 + 0x2d4) != 0)" ( (binary_expression "*(int *)(*piVar3 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar3 + 0x2d4)" * (cast_expression "(int *)(*piVar3 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x2d4)" ( (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" { (if_statement "if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }" { (return_statement "return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);" return (pointer_expression "*(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" * (cast_expression "(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" ( (binary_expression "*(int *)(piVar3[3] + iVar1 * 4) + 0x2c" (pointer_expression "*(int *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(int *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) + number_literal) )))) ;) })) (goto_statement "goto LAB_00059228;" goto statement_identifier ;) })) (goto_statement "goto LAB_00059248;" goto statement_identifier ;) })) }))) (expression_statement "pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);" (assignment_expression "pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" identifier = (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" * (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);" (assignment_expression "piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" identifier = (cast_expression "(int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);" (call_expression "(*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c)" ( identifier , (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar6 + 0x3a7c" identifier + number_literal) ))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }" { (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" { (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }" { (expression_statement "(**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);" (call_expression "(**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ff5c))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ff5c)" * (pointer_expression "*(code **)(pcVar10 + 0x34ff5c)" * (cast_expression "(code **)(pcVar10 + 0x34ff5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ff5c)" ( (binary_expression "pcVar10 + 0x34ff5c" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c)" ( number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a2c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f660) + -0x62ac" (pointer_expression "*(int *)(pcVar10 + 0x34f660)" * (cast_expression "(int *)(pcVar10 + 0x34f660)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f660)" ( (binary_expression "pcVar10 + 0x34f660" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 0x340" identifier + number_literal) , (binary_expression "pcVar10 + 0x35762c" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (expression_statement "iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));" (assignment_expression "iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4))" identifier = (call_expression "FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4))" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x2d4))" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x2d4)" * (cast_expression "(undefined4 *)(iVar1 + 0x2d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2d4)" ( (binary_expression "iVar1 + 0x2d4" identifier + number_literal) )))) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);" (call_expression "(**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(**(code **)(pcVar10 + 0x350384))" ( (pointer_expression "**(code **)(pcVar10 + 0x350384)" * (pointer_expression "*(code **)(pcVar10 + 0x350384)" * (cast_expression "(code **)(pcVar10 + 0x350384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x350384)" ( (binary_expression "pcVar10 + 0x350384" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" ( (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x350384);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x350384)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x350384)" * (cast_expression "(code **)(pcVar10 + 0x350384)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x350384)" ( (binary_expression "pcVar10 + 0x350384" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" ( (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);" (call_expression "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" ( identifier , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" * (cast_expression "(int *)(pcVar10 + 0x34f65c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f65c)" ( (binary_expression "pcVar10 + 0x34f65c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar11 + 0x3501a8))();" (assignment_expression "iVar1 = (**(code **)(pcVar11 + 0x3501a8))()" identifier = (call_expression "(**(code **)(pcVar11 + 0x3501a8))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x3501a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3501a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3501a8)" * (cast_expression "(code **)(pcVar11 + 0x3501a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3501a8)" ( (binary_expression "pcVar11 + 0x3501a8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }" { (labeled_statement "LAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);" statement_identifier : (expression_statement "puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);" (assignment_expression "puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" identifier = (binary_expression "&DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (pointer_expression "&DAT_00003a18" & identifier) + (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))))) ;)) (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7)" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7)" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;" statement_identifier : (expression_statement "puVar7 = &DAT_00003a18 + (int)puVar7;" (assignment_expression "puVar7 = &DAT_00003a18 + (int)puVar7" identifier = (binary_expression "&DAT_00003a18 + (int)puVar7" (pointer_expression "&DAT_00003a18" & identifier) + (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7)" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7)" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3794" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) }) (else_clause "else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" else (compound_statement "{\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" { (if_statement "if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }" if (parenthesized_expression "(piVar3[5] != -0x54535255)" ( (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }" { (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580))" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" * (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580))" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "&DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (pointer_expression "&DAT_00003a18" & identifier) + (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) ))))) ))) ;) (goto_statement "goto LAB_00059458;" goto statement_identifier ;) })) (expression_statement "iVar6 = *piVar3;" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }" { (expression_statement "(**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);" (call_expression "(**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe80))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fe80)" * (pointer_expression "*(code **)(pcVar11 + 0x34fe80)" * (cast_expression "(code **)(pcVar11 + 0x34fe80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe80)" ( (binary_expression "pcVar11 + 0x34fe80" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340)" ( number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3a04" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f584) + -0x62ac" (pointer_expression "*(int *)(pcVar11 + 0x34f584)" * (cast_expression "(int *)(pcVar11 + 0x34f584)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f584)" ( (binary_expression "pcVar11 + 0x34f584" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar6 + 0x340" identifier + number_literal) ))) ;) (expression_statement "iVar6 = *piVar3;" (assignment_expression "iVar6 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (expression_statement "puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);" (assignment_expression "puVar7 = *(undefined1 **)(pcVar11 + 0x34f580)" identifier = (pointer_expression "*(undefined1 **)(pcVar11 + 0x34f580)" * (cast_expression "(undefined1 **)(pcVar11 + 0x34f580)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }" if (parenthesized_expression "(*(int *)(iVar6 + 0x2d4) != 0)" ( (binary_expression "*(int *)(iVar6 + 0x2d4) != 0" (pointer_expression "*(int *)(iVar6 + 0x2d4)" * (cast_expression "(int *)(iVar6 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2d4)" ( (binary_expression "iVar6 + 0x2d4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }" { (if_statement "if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }" { (expression_statement "iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));" (assignment_expression "iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" identifier = (call_expression "FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" identifier (argument_list "(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" ( (pointer_expression "*(int *)(iVar6 + 0x2d4)" * (cast_expression "(int *)(iVar6 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x2d4)" ( (binary_expression "iVar6 + 0x2d4" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (goto_statement "goto LAB_0005947c;" goto statement_identifier ;) })) }))) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x3502a8);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x3502a8)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" * (cast_expression "(code **)(pcVar11 + 0x3502a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x3502a8)" ( (binary_expression "pcVar11 + 0x3502a8" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" identifier = (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" ( (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x37bc" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);" (call_expression "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7)" ( identifier , (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" * (cast_expression "(int *)(pcVar11 + 0x34f580)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f580)" ( (binary_expression "pcVar11 + 0x34f580" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "&DAT_00003a18 + (int)puVar7" (pointer_expression "&DAT_00003a18" & identifier) + (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }" { (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }" { (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }" { (expression_statement "(**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);" (call_expression "(**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fd24))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fd24)" * (pointer_expression "*(code **)(pcVar10 + 0x34fd24)" * (cast_expression "(code **)(pcVar10 + 0x34fd24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fd24)" ( (binary_expression "pcVar10 + 0x34fd24" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4)" ( number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39dc" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f428) + -0x62ac" (pointer_expression "*(int *)(pcVar10 + 0x34f428)" * (cast_expression "(int *)(pcVar10 + 0x34f428)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f428)" ( (binary_expression "pcVar10 + 0x34f428" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 0x340" identifier + number_literal) , (binary_expression "pcVar10 + 0x3573f4" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);" (call_expression "(**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x35014c))" ( (pointer_expression "**(code **)(pcVar10 + 0x35014c)" * (pointer_expression "*(code **)(pcVar10 + 0x35014c)" * (cast_expression "(code **)(pcVar10 + 0x35014c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x35014c)" ( (binary_expression "pcVar10 + 0x35014c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0)" ( (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x35014c);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x35014c)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x35014c)" * (cast_expression "(code **)(pcVar10 + 0x35014c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x35014c)" ( (binary_expression "pcVar10 + 0x35014c" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x34f424) + 0x3740)" ( (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);" (call_expression "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0)" ( identifier , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" * (cast_expression "(int *)(pcVar10 + 0x34f424)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f424)" ( (binary_expression "pcVar10 + 0x34f424" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }" { (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" { (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }" if (parenthesized_expression "(piVar3[4] != 0)" ( (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }" { (expression_statement "(**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);" (call_expression "(**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fc54))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fc54)" * (pointer_expression "*(code **)(pcVar11 + 0x34fc54)" * (cast_expression "(code **)(pcVar11 + 0x34fc54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fc54)" ( (binary_expression "pcVar11 + 0x34fc54" identifier + number_literal) ))))) )) (argument_list "(0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324)" ( number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39a4" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f358) + -0x62ac" (pointer_expression "*(int *)(pcVar11 + 0x34f358)" * (cast_expression "(int *)(pcVar11 + 0x34f358)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f358)" ( (binary_expression "pcVar11 + 0x34f358" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar1 + 0x340" identifier + number_literal) , (binary_expression "pcVar11 + 0x357324" identifier + number_literal) ))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) })) (expression_statement "iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));" (assignment_expression "iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4))" identifier = (call_expression "FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4))" identifier (argument_list "(*(undefined4 *)(iVar1 + 0x2d4))" ( (pointer_expression "*(undefined4 *)(iVar1 + 0x2d4)" * (cast_expression "(undefined4 *)(iVar1 + 0x2d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2d4)" ( (binary_expression "iVar1 + 0x2d4" identifier + number_literal) )))) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "(**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);" (call_expression "(**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (parenthesized_expression "(**(code **)(pcVar11 + 0x35007c))" ( (pointer_expression "**(code **)(pcVar11 + 0x35007c)" * (pointer_expression "*(code **)(pcVar11 + 0x35007c)" * (cast_expression "(code **)(pcVar11 + 0x35007c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x35007c)" ( (binary_expression "pcVar11 + 0x35007c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0)" ( (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x35007c);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x35007c)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x35007c)" * (cast_expression "(code **)(pcVar11 + 0x35007c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x35007c)" ( (binary_expression "pcVar11 + 0x35007c" identifier + number_literal) ))))) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f354) + 0x3740)" ( (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);" (call_expression "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0)" ( identifier , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" * (cast_expression "(int *)(pcVar11 + 0x34f354)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f354)" ( (binary_expression "pcVar11 + 0x34f354" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fea0))();" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fea0))()" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fea0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fea0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fea0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fea0)" * (cast_expression "(code **)(pcVar10 + 0x34fea0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fea0)" ( (binary_expression "pcVar10 + 0x34fea0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }" { (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984" identifier = (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3984" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x37e8" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) (labeled_statement "LAB_00059710:\n    iVar6 = iVar6 + 0x3984;" statement_identifier : (expression_statement "iVar6 = iVar6 + 0x3984;" (assignment_expression "iVar6 = iVar6 + 0x3984" identifier = (binary_expression "iVar6 + 0x3984" identifier + number_literal)) ;)) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3794" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , number_literal ))) ;) }) (else_clause "else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" else (compound_statement "{\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" { (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278);" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278)" identifier = (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) ))))) ;) (if_statement "if (piVar3[5] != -0x54535255) goto LAB_0005974c;" if (parenthesized_expression "(piVar3[5] != -0x54535255)" ( (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_0005974c;" goto statement_identifier ;)) (if_statement "if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }" if (parenthesized_expression "(*(int *)(*piVar3 + 0x2d4) != 0)" ( (binary_expression "*(int *)(*piVar3 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar3 + 0x2d4)" * (cast_expression "(int *)(*piVar3 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x2d4)" ( (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" * identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }" { (if_statement "if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }" { (expression_statement "iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;" (assignment_expression "iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" identifier = (call_expression "FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" identifier (argument_list "(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" ( (pointer_expression "*(int *)(*piVar3 + 0x2d4)" * (cast_expression "(int *)(*piVar3 + 0x2d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x2d4)" ( (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" * identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , number_literal )))) ;) (return_statement "return iVar1;" return identifier ;) })) (goto_statement "goto LAB_00059710;" goto statement_identifier ;) })) }))) (expression_statement "iVar6 = iVar6 + 0x3984;" (assignment_expression "iVar6 = iVar6 + 0x3984" identifier = (binary_expression "iVar6 + 0x3984" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" * (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x37bc" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0005974c:\n  uVar5 = 0x238;" statement_identifier : (expression_statement "uVar5 = 0x238;" (assignment_expression "uVar5 = 0x238" identifier = number_literal) ;)) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x34ffa0);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x34ffa0)" identifier = (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" * (cast_expression "(code **)(pcVar10 + 0x34ffa0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34ffa0)" ( (binary_expression "pcVar10 + 0x34ffa0" identifier + number_literal) ))))) ;) (expression_statement "pfVar8 = (float *)(iVar6 + 0x3984);" (assignment_expression "pfVar8 = (float *)(iVar6 + 0x3984)" identifier = (cast_expression "(float *)(iVar6 + 0x3984)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3984)" ( (binary_expression "iVar6 + 0x3984" identifier + number_literal) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c" identifier = (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764)" identifier = (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar10 + 0x34f278) + 0x3764)" ( (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" * (cast_expression "(int *)(pcVar10 + 0x34f278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34f278)" ( (binary_expression "pcVar10 + 0x34f278" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();" (assignment_expression "iVar1 = (**(code **)(pcVar11 + 0x34fd9c))()" identifier = (call_expression "(**(code **)(pcVar11 + 0x34fd9c))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fd9c))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fd9c)" * (pointer_expression "*(code **)(pcVar11 + 0x34fd9c)" * (cast_expression "(code **)(pcVar11 + 0x34fd9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fd9c)" ( (binary_expression "pcVar11 + 0x34fd9c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }" if (parenthesized_expression "(piVar3 != (int *)0x0)" ( (binary_expression "piVar3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }" { (expression_statement "iVar9 = *(int *)(pcVar11 + 0x34f174);" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x34f174)" identifier = (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) ))))) ;) (if_statement "if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }" if (parenthesized_expression "(piVar3[5] == -0x54535255)" ( (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }" { (if_statement "if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }" { (expression_statement "(**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);" (call_expression "(**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34ff68))" ( (pointer_expression "**(code **)(pcVar11 + 0x34ff68)" * (pointer_expression "*(code **)(pcVar11 + 0x34ff68)" * (cast_expression "(code **)(pcVar11 + 0x34ff68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34ff68)" ( (binary_expression "pcVar11 + 0x34ff68" identifier + number_literal) ))))) )) (argument_list "(pfVar8,0,0x100)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);" (assignment_expression "pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" identifier = (cast_expression "(float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34f2a8))" ( (pointer_expression "**(code **)(pcVar11 + 0x34f2a8)" * (pointer_expression "*(code **)(pcVar11 + 0x34f2a8)" * (cast_expression "(code **)(pcVar11 + 0x34f2a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34f2a8)" ( (binary_expression "pcVar11 + 0x34f2a8" identifier + number_literal) ))))) )) (argument_list "(*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" ( (pointer_expression "*piVar3" * identifier) , identifier , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , (binary_expression "pcVar10 + 0x357248" identifier + number_literal) ))))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }" if (parenthesized_expression "(pfVar2 == (float *)0x0)" ( (binary_expression "pfVar2 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }" { (expression_statement "dVar16 = *(double *)(iVar1 + 0xc0);" (assignment_expression "dVar16 = *(double *)(iVar1 + 0xc0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xc0)" * (cast_expression "(double *)(iVar1 + 0xc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc0)" ( (binary_expression "iVar1 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "dVar15 = *(double *)(iVar1 + 200);" (assignment_expression "dVar15 = *(double *)(iVar1 + 200)" identifier = (pointer_expression "*(double *)(iVar1 + 200)" * (cast_expression "(double *)(iVar1 + 200)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 200)" ( (binary_expression "iVar1 + 200" identifier + number_literal) ))))) ;) (expression_statement "dVar14 = *(double *)(iVar1 + 0xd0);" (assignment_expression "dVar14 = *(double *)(iVar1 + 0xd0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xd0)" * (cast_expression "(double *)(iVar1 + 0xd0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xd0)" ( (binary_expression "iVar1 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(iVar1 + 0xb0);" (assignment_expression "dVar12 = *(double *)(iVar1 + 0xb0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xb0)" * (cast_expression "(double *)(iVar1 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb0)" ( (binary_expression "iVar1 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);" (assignment_expression "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8)" (subscript_expression "pfVar8[1]" identifier [ number_literal ]) = (cast_expression "(float)*(double *)(iVar1 + 0xb8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar1 + 0xb8)" * (cast_expression "(double *)(iVar1 + 0xb8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb8)" ( (binary_expression "iVar1 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "pfVar8[2] = (float)dVar16;" (assignment_expression "pfVar8[2] = (float)dVar16" (subscript_expression "pfVar8[2]" identifier [ number_literal ]) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[3] = (float)dVar15;" (assignment_expression "pfVar8[3] = (float)dVar15" (subscript_expression "pfVar8[3]" identifier [ number_literal ]) = (cast_expression "(float)dVar15" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[4] = (float)dVar14;" (assignment_expression "pfVar8[4] = (float)dVar14" (subscript_expression "pfVar8[4]" identifier [ number_literal ]) = (cast_expression "(float)dVar14" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar8 = (float)dVar12;" (assignment_expression "*pfVar8 = (float)dVar12" (pointer_expression "*pfVar8" * identifier) = (cast_expression "(float)dVar12" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }" if (parenthesized_expression "(0 < *(int *)(iVar1 + 0x2c0))" ( (binary_expression "0 < *(int *)(iVar1 + 0x2c0)" number_literal < (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) ))))) )) (compound_statement "{\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }" { (expression_statement "piVar3 = *(int **)(iVar1 + 0x2d0);" (assignment_expression "piVar3 = *(int **)(iVar1 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar1 + 0x2d0)" * (cast_expression "(int **)(iVar1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x2d0)" ( (binary_expression "iVar1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);" (assignment_expression "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier = (binary_expression "pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) )))))) ;) (do_statement "do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);" do (compound_statement "{\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          }" { (expression_statement "fVar13 = *pfVar2;" (assignment_expression "fVar13 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar3 = piVar3 + 3;" (assignment_expression "piVar3 = piVar3 + 3" identifier = (binary_expression "piVar3 + 3" identifier + number_literal)) ;) (expression_statement "pfVar8[iVar1] = fVar13;" (assignment_expression "pfVar8[iVar1] = fVar13" (subscript_expression "pfVar8[iVar1]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(pfVar2 != pfVar4)" ( (binary_expression "pfVar2 != pfVar4" identifier != identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar9 = iVar9 + 0x3928;" (assignment_expression "iVar9 = iVar9 + 0x3928" identifier = (binary_expression "iVar9 + 0x3928" identifier + number_literal)) ;) (expression_statement "(**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);" (call_expression "(**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe9c))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fe9c)" * (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" * (cast_expression "(code **)(pcVar11 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe9c)" ( (binary_expression "pcVar11 + 0x34fe9c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3794" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);" (call_expression "(**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe9c))" ( (pointer_expression "**(code **)(pcVar11 + 0x34fe9c)" * (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" * (cast_expression "(code **)(pcVar11 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe9c)" ( (binary_expression "pcVar11 + 0x34fe9c" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar9 + 0x3928" identifier + number_literal) ))) ;) })) (expression_statement "uVar5 = 0x2ca;" (assignment_expression "uVar5 = 0x2ca" identifier = number_literal) ;) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x34fe9c);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x34fe9c)" identifier = (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" * (cast_expression "(code **)(pcVar11 + 0x34fe9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar11 + 0x34fe9c)" ( (binary_expression "pcVar11 + 0x34fe9c" identifier + number_literal) ))))) ;) (expression_statement "pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);" (assignment_expression "pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928)" identifier = (cast_expression "(float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f174) + 0x3928)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3928" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c" identifier = (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740)" identifier = (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar11 + 0x34f174) + 0x3740)" ( (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" * (cast_expression "(int *)(pcVar11 + 0x34f174)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar11 + 0x34f174)" ( (binary_expression "pcVar11 + 0x34f174" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar10)(piVar3,iVar6,0x2ca);" (call_expression "(*pcVar10)(piVar3,iVar6,0x2ca)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(piVar3,iVar6,0x2ca)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fbb0))()" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fbb0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fbb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fbb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fbb0)" * (cast_expression "(code **)(pcVar10 + 0x34fbb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fbb0)" ( (binary_expression "pcVar10 + 0x34fbb0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" if (parenthesized_expression "(piVar3 == (int *)0x0)" ( (binary_expression "piVar3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" { (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" * (cast_expression "(code **)(pcVar10 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fcb0)" ( (binary_expression "pcVar10 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (if_statement "if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" if (parenthesized_expression "(piVar3[5] != -0x54535255)" ( (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" { (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" * (cast_expression "(code **)(pcVar10 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fcb0)" ( (binary_expression "pcVar10 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })) (if_statement "if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }" if (parenthesized_expression "(iVar1 < piVar3[2])" ( (binary_expression "iVar1 < piVar3[2]" identifier < (subscript_expression "piVar3[2]" identifier [ number_literal ])) )) (compound_statement "{\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }" { (expression_statement "(**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);" (call_expression "(**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fd7c))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fd7c)" * (pointer_expression "*(code **)(pcVar10 + 0x34fd7c)" * (cast_expression "(code **)(pcVar10 + 0x34fd7c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fd7c)" ( (binary_expression "pcVar10 + 0x34fd7c" identifier + number_literal) ))))) )) (argument_list "(pfVar8,0,0x100)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);" (assignment_expression "pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" identifier = (cast_expression "(float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34f0ac))" ( (pointer_expression "**(code **)(pcVar10 + 0x34f0ac)" * (pointer_expression "*(code **)(pcVar10 + 0x34f0ac)" * (cast_expression "(code **)(pcVar10 + 0x34f0ac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34f0ac)" ( (binary_expression "pcVar10 + 0x34f0ac" identifier + number_literal) ))))) )) (argument_list "(*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" ( (pointer_expression "*piVar3" * identifier) , (subscript_expression "piVar3[1]" identifier [ number_literal ]) , identifier , identifier , number_literal , number_literal , (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" * (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar3[3] + iVar1 * 4)" ( (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" identifier [ number_literal ]) + (binary_expression "iVar1 * 4" identifier * number_literal)) )))) , identifier ))))) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (if_statement "if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }" if (parenthesized_expression "(pfVar2 == (float *)0x0)" ( (binary_expression "pfVar2 == (float *)0x0" identifier == (cast_expression "(float *)0x0" ( (type_descriptor "float *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }" { (expression_statement "dVar16 = *(double *)(iVar1 + 0xc0);" (assignment_expression "dVar16 = *(double *)(iVar1 + 0xc0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xc0)" * (cast_expression "(double *)(iVar1 + 0xc0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc0)" ( (binary_expression "iVar1 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "dVar15 = *(double *)(iVar1 + 200);" (assignment_expression "dVar15 = *(double *)(iVar1 + 200)" identifier = (pointer_expression "*(double *)(iVar1 + 200)" * (cast_expression "(double *)(iVar1 + 200)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 200)" ( (binary_expression "iVar1 + 200" identifier + number_literal) ))))) ;) (expression_statement "dVar14 = *(double *)(iVar1 + 0xd0);" (assignment_expression "dVar14 = *(double *)(iVar1 + 0xd0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xd0)" * (cast_expression "(double *)(iVar1 + 0xd0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xd0)" ( (binary_expression "iVar1 + 0xd0" identifier + number_literal) ))))) ;) (expression_statement "dVar12 = *(double *)(iVar1 + 0xb0);" (assignment_expression "dVar12 = *(double *)(iVar1 + 0xb0)" identifier = (pointer_expression "*(double *)(iVar1 + 0xb0)" * (cast_expression "(double *)(iVar1 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb0)" ( (binary_expression "iVar1 + 0xb0" identifier + number_literal) ))))) ;) (expression_statement "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);" (assignment_expression "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8)" (subscript_expression "pfVar8[1]" identifier [ number_literal ]) = (cast_expression "(float)*(double *)(iVar1 + 0xb8)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar1 + 0xb8)" * (cast_expression "(double *)(iVar1 + 0xb8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xb8)" ( (binary_expression "iVar1 + 0xb8" identifier + number_literal) )))))) ;) (expression_statement "pfVar8[2] = (float)dVar16;" (assignment_expression "pfVar8[2] = (float)dVar16" (subscript_expression "pfVar8[2]" identifier [ number_literal ]) = (cast_expression "(float)dVar16" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[3] = (float)dVar15;" (assignment_expression "pfVar8[3] = (float)dVar15" (subscript_expression "pfVar8[3]" identifier [ number_literal ]) = (cast_expression "(float)dVar15" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "pfVar8[4] = (float)dVar14;" (assignment_expression "pfVar8[4] = (float)dVar14" (subscript_expression "pfVar8[4]" identifier [ number_literal ]) = (cast_expression "(float)dVar14" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (expression_statement "*pfVar8 = (float)dVar12;" (assignment_expression "*pfVar8 = (float)dVar12" (pointer_expression "*pfVar8" * identifier) = (cast_expression "(float)dVar12" ( (type_descriptor "float" primitive_type) ) identifier)) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }" if (parenthesized_expression "(0 < *(int *)(iVar1 + 0x2c0))" ( (binary_expression "0 < *(int *)(iVar1 + 0x2c0)" number_literal < (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) ))))) )) (compound_statement "{\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }" { (expression_statement "piVar3 = *(int **)(iVar1 + 0x2d0);" (assignment_expression "piVar3 = *(int **)(iVar1 + 0x2d0)" identifier = (pointer_expression "*(int **)(iVar1 + 0x2d0)" * (cast_expression "(int **)(iVar1 + 0x2d0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar1 + 0x2d0)" ( (binary_expression "iVar1 + 0x2d0" identifier + number_literal) ))))) ;) (expression_statement "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);" (assignment_expression "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier = (binary_expression "pfVar2 + *(int *)(iVar1 + 0x2c0)" identifier + (pointer_expression "*(int *)(iVar1 + 0x2c0)" * (cast_expression "(int *)(iVar1 + 0x2c0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2c0)" ( (binary_expression "iVar1 + 0x2c0" identifier + number_literal) )))))) ;) (do_statement "do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);" do (compound_statement "{\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      }" { (expression_statement "fVar13 = *pfVar2;" (assignment_expression "fVar13 = *pfVar2" identifier = (pointer_expression "*pfVar2" * identifier)) ;) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" identifier = (binary_expression "pfVar2 + 1" identifier + number_literal)) ;) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" identifier = (pointer_expression "*piVar3" * identifier)) ;) (expression_statement "piVar3 = piVar3 + 3;" (assignment_expression "piVar3 = piVar3 + 3" identifier = (binary_expression "piVar3 + 3" identifier + number_literal)) ;) (expression_statement "pfVar8[iVar1] = fVar13;" (assignment_expression "pfVar8[iVar1] = fVar13" (subscript_expression "pfVar8[iVar1]" identifier [ identifier ]) = identifier) ;) }) while (parenthesized_expression "(pfVar2 != pfVar4)" ( (binary_expression "pfVar2 != pfVar4" identifier != identifier) )) ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" identifier = (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" ( (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" * (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" * (cast_expression "(code **)(pcVar10 + 0x34fcb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + 0x34fcb0)" ( (binary_expression "pcVar10 + 0x34fcb0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" ( (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3794" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" * (cast_expression "(int *)(pcVar10 + 0x34ef88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar10 + 0x34ef88)" ( (binary_expression "pcVar10 + 0x34ef88" identifier + number_literal) )))) + number_literal) )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 (pointer_expression * IDENT) + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_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 )))) ;) (return_statement return IDENT ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (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 ( (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) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 (pointer_expression * IDENT) + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (return_statement return (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 (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) + LIT) )))) ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 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 (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 ( (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 & IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) )))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 & IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (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 (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 IDENT = (pointer_expression * IDENT)) ;) })) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_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 IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT ))) ;) (labeled_statement statement_identifier : (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 ( (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 ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) , LIT )))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) }))) (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 ( (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) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 * IDENT) , IDENT , IDENT , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (return_statement return LIT ;) })) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return 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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (subscript_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 IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 * IDENT) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , LIT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (return_statement return LIT ;) })) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (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 "int DestroyCacheView(int *param_1)\n\n{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}" (primitive_type "int") (function_declarator "DestroyCacheView(int *param_1)" (identifier "DestroyCacheView") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  float *pfVar2;\n  int *piVar3;\n  float *pfVar4;\n  undefined4 uVar5;\n  int iVar6;\n  undefined1 *puVar7;\n  float *pfVar8;\n  int iVar9;\n  undefined *UNRECOVERED_JUMPTABLE;\n  code *pcVar10;\n  code *pcVar11;\n  float fVar13;\n  double dVar12;\n  double dVar14;\n  double dVar15;\n  double dVar16;\n  undefined4 in_stack_fffffec0;\n  \n  if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }\n  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);\n  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;\n  (*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);\n  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }\n  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);\n  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);\n  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x350384);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();\n  if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x3502a8);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }\n  pcVar11 = *(code **)(pcVar10 + 0x35014c);\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);\n  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }\n  pcVar10 = *(code **)(pcVar11 + 0x35007c);\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);\n  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();\n  if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }\n  iVar6 = iVar6 + 0x3984;\n  (**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);\nLAB_0005974c:\n  uVar5 = 0x238;\n  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);\n  pfVar8 = (float *)(iVar6 + 0x3984);\n  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);\n  (*pcVar11)();\n  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();\n  if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }\n  uVar5 = 0x2ca;\n  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);\n  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);\n  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;\n  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);\n  (*pcVar10)(piVar3,iVar6,0x2ca);\n  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();\n  if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }\n  if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }\n  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n  return iVar1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "float *pfVar2;" (primitive_type "float") (pointer_declarator "*pfVar2" (* "*") (identifier "pfVar2")) (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "float *pfVar4;" (primitive_type "float") (pointer_declarator "*pfVar4" (* "*") (identifier "pfVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "float *pfVar8;" (primitive_type "float") (pointer_declarator "*pfVar8" (* "*") (identifier "pfVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined *UNRECOVERED_JUMPTABLE;" (type_identifier "undefined") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "code *pcVar11;" (type_identifier "code") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "float fVar13;" (primitive_type "float") (identifier "fVar13") (; ";")) (declaration "double dVar12;" (primitive_type "double") (identifier "dVar12") (; ";")) (declaration "double dVar14;" (primitive_type "double") (identifier "dVar14") (; ";")) (declaration "double dVar15;" (primitive_type "double") (identifier "dVar15") (; ";")) (declaration "double dVar16;" (primitive_type "double") (identifier "dVar16") (; ";")) (declaration "undefined4 in_stack_fffffec0;" (type_identifier "undefined4") (identifier "in_stack_fffffec0") (; ";")) (if_statement "if (param_1 != (int *)0x0) {\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" (if "if") (parenthesized_expression "(param_1 != (int *)0x0)" (( "(") (binary_expression "param_1 != (int *)0x0" (identifier "param_1") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }\n    (*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);\n  }" ({ "{") (if_statement "if (param_1[5] == -0x54535255) {\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }" (if "if") (parenthesized_expression "(param_1[5] == -0x54535255)" (( "(") (binary_expression "param_1[5] == -0x54535255" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }\n      if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }\n      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);\n      *param_1 = iVar1;\n      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;\n      param_1[5] = 0x54535254;\n                    \n                    \n      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);\n      return iVar1;\n    }" ({ "{") (if_statement "if (param_1[4] != 0) {\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }" (if "if") (parenthesized_expression "(param_1[4] != 0)" (( "(") (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);\n      }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);" (call_expression "(*(code *)PTR_LogMagickEvent_003a91e0)\n                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_003a91e0)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_003a91e0" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_003a91e0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_003a91e0"))) () ")")) (argument_list "(0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,\n                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x370c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x370c")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3abc" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3abc")) (, ",") (number_literal "0x101") (, ",") (binary_expression "PTR_s_t_to_left_003a88e4 + -0x62ac" (identifier "PTR_s_t_to_left_003a88e4") (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "*param_1 + 0x340" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[3] != 0) {\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }" (if "if") (parenthesized_expression "(param_1[3] != 0)" (( "(") (binary_expression "param_1[3] != 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar1 = FUN_000534b4(param_1[3],param_1[2]);\n        param_1[3] = iVar1;\n      }" ({ "{") (expression_statement "iVar1 = FUN_000534b4(param_1[3],param_1[2]);" (assignment_expression "iVar1 = FUN_000534b4(param_1[3],param_1[2])" (identifier "iVar1") (= "=") (call_expression "FUN_000534b4(param_1[3],param_1[2])" (identifier "FUN_000534b4") (argument_list "(param_1[3],param_1[2])" (( "(") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (, ",") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) () ")")))) (; ";")) (expression_statement "param_1[3] = iVar1;" (assignment_expression "param_1[3] = iVar1" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar1")) (; ";")) (} "}"))) (expression_statement "iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);" (assignment_expression "iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_DestroyImage_003a8f4c)(*param_1)" (parenthesized_expression "(*(code *)PTR_DestroyImage_003a8f4c)" (( "(") (pointer_expression "*(code *)PTR_DestroyImage_003a8f4c" (* "*") (cast_expression "(code *)PTR_DestroyImage_003a8f4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DestroyImage_003a8f4c"))) () ")")) (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")))) (; ";")) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar1")) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (identifier "PTR_RelinquishAlignedMemory_003a96cc")) (; ";")) (expression_statement "param_1[5] = 0x54535254;" (assignment_expression "param_1[5] = 0x54535254" (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0x54535254")) (; ";")) (expression_statement "iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);" (assignment_expression "iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1)" (identifier "iVar1") (= "=") (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(param_1)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" (* "*") (cast_expression "(code *)UNRECOVERED_JUMPTABLE" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "UNRECOVERED_JUMPTABLE"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x3764" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x370c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0xff") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3ad0")) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);" (assignment_expression "piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740)" (identifier "piVar3") (= "=") (cast_expression "(int *)(PTR_LAB_003a88e0 + 0x3740)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x3740)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x3740" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3740")) () ")")))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (identifier "PTR___assert_fail_003a9608")) (; ";")) (expression_statement "(*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);" (call_expression "(*(code *)PTR___assert_fail_003a9608)\n            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" (parenthesized_expression "(*(code *)PTR___assert_fail_003a9608)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_003a9608" (* "*") (cast_expression "(code *)PTR___assert_fail_003a9608" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_003a9608"))) () ")")) (argument_list "(piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0)" (( "(") (identifier "piVar3") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x370c" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0xfe") (, ",") (binary_expression "PTR_LAB_003a88e0 + 0x3ad0" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x3ad0")) () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();" (assignment_expression "iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" (identifier "iVar1") (= "=") (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))()" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350388)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350388)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x350388" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x350388")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }\n  else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);\nLAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);\nLAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;\n    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);\n  }" ({ "{") (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x3a7c"))) (; ";")) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x350488")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x3740")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x15b") (, ",") (identifier "iVar6") () ")"))) (; ";")) (labeled_statement "LAB_00059228:\n    iVar6 = iVar6 + 0x3a7c;" (statement_identifier "LAB_00059228") (: ":") (expression_statement "iVar6 = iVar6 + 0x3a7c;" (assignment_expression "iVar6 = iVar6 + 0x3a7c" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 0x3a7c" (identifier "iVar6") (+ "+") (number_literal "0x3a7c"))) (; ";"))) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x350488")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x3794")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x15e") (, ",") (identifier "iVar6") () ")"))) (; ";")) (labeled_statement "LAB_00059248:\n    iVar6 = iVar6 + 0x3a7c;" (statement_identifier "LAB_00059248") (: ":") (expression_statement "iVar6 = iVar6 + 0x3a7c;" (assignment_expression "iVar6 = iVar6 + 0x3a7c" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 0x3a7c" (identifier "iVar6") (+ "+") (number_literal "0x3a7c"))) (; ";"))) (expression_statement "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);" (call_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))\n              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" (parenthesized_expression "(**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))" (( "(") (pointer_expression "**(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x350488")) () ")"))))) () ")")) (argument_list "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,\n               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x37bc")) (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x370c")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" (else "else") (compound_statement "{\n    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);\n    if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }\n  }" ({ "{") (expression_statement "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);" (assignment_expression "iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")"))))) (; ";")) (if_statement "if (piVar3[5] == -0x54535255) {\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" (if "if") (parenthesized_expression "(piVar3[5] == -0x54535255)" (( "(") (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }\n      goto LAB_00059248;\n    }" ({ "{") (if_statement "if (*(int *)(*piVar3 + 0x2d4) != 0) {\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" (if "if") (parenthesized_expression "(*(int *)(*piVar3 + 0x2d4) != 0)" (( "(") (binary_expression "*(int *)(*piVar3 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar3 + 0x2d4)" (* "*") (cast_expression "(int *)(*piVar3 + 0x2d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar3 + 0x2d4)" (( "(") (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0x2d4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }\n        goto LAB_00059228;\n      }" ({ "{") (if_statement "if (iVar1 < piVar3[2]) {\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }" (if "if") (parenthesized_expression "(iVar1 < piVar3[2])" (( "(") (binary_expression "iVar1 < piVar3[2]" (identifier "iVar1") (< "<") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);\n        }" ({ "{") (return_statement "return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);" (return "return") (pointer_expression "*(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c)" (( "(") (binary_expression "*(int *)(piVar3[3] + iVar1 * 4) + 0x2c" (pointer_expression "*(int *)(piVar3[3] + iVar1 * 4)" (* "*") (cast_expression "(int *)(piVar3[3] + iVar1 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[3] + iVar1 * 4)" (( "(") (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00059228;" (goto "goto") (statement_identifier "LAB_00059228") (; ";")) (} "}"))) (goto_statement "goto LAB_00059248;" (goto "goto") (statement_identifier "LAB_00059248") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);" (assignment_expression "pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (* "*") (cast_expression "(code **)(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x350488)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x350488" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x350488")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);" (assignment_expression "piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x3764")) () ")")))) (; ";")) (expression_statement "(*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);" (call_expression "(*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c)" (( "(") (identifier "piVar3") (, ",") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x34f760)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x34f760" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x34f760")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x15c") (, ",") (binary_expression "iVar6 + 0x3a7c" (identifier "iVar6") (+ "+") (number_literal "0x3a7c")) () ")"))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);\n  }" ({ "{") (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" (if "if") (parenthesized_expression "(piVar3[5] == -0x54535255)" (( "(") (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" ({ "{") (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }" (if "if") (parenthesized_expression "(piVar3[4] != 0)" (( "(") (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);\n        iVar1 = *piVar3;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);" (call_expression "(**(code **)(pcVar10 + 0x34ff5c))\n                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ff5c))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34ff5c)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34ff5c)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34ff5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34ff5c)" (( "(") (binary_expression "pcVar10 + 0x34ff5c" (identifier "pcVar10") (+ "+") (number_literal "0x34ff5c")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,\n                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a2c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x3a2c")) (, ",") (number_literal "0x1a3") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f660) + -0x62ac" (pointer_expression "*(int *)(pcVar10 + 0x34f660)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f660)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f660)" (( "(") (binary_expression "pcVar10 + 0x34f660" (identifier "pcVar10") (+ "+") (number_literal "0x34f660")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "iVar1 + 0x340" (identifier "iVar1") (+ "+") (number_literal "0x340")) (, ",") (binary_expression "pcVar10 + 0x35762c" (identifier "pcVar10") (+ "+") (number_literal "0x35762c")) () ")"))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));" (assignment_expression "iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4))" (identifier "iVar1") (= "=") (call_expression "FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4))" (identifier "FUN_00055e5c") (argument_list "(*(undefined4 *)(iVar1 + 0x2d4))" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x2d4)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x2d4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2d4)" (( "(") (binary_expression "iVar1 + 0x2d4" (identifier "iVar1") (+ "+") (number_literal "0x2d4")) () ")")))) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);" (call_expression "(**(code **)(pcVar10 + 0x350384))\n              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(**(code **)(pcVar10 + 0x350384))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x350384)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x350384)" (* "*") (cast_expression "(code **)(pcVar10 + 0x350384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x350384)" (( "(") (binary_expression "pcVar10 + 0x350384" (identifier "pcVar10") (+ "+") (number_literal "0x350384")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,\n               *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1a1") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x3a44")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x350384);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x350384)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x350384)" (* "*") (cast_expression "(code **)(pcVar10 + 0x350384)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x350384)" (( "(") (binary_expression "pcVar10 + 0x350384" (identifier "pcVar10") (+ "+") (number_literal "0x350384")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x34f65c) + 0x3740)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x3740")) () ")")))) (; ";")) (expression_statement "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);" (call_expression "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,\n             *(int *)(pcVar10 + 0x34f65c) + 0x3a44)" (( "(") (identifier "piVar3") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1a0") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f65c) + 0x3a44" (pointer_expression "*(int *)(pcVar10 + 0x34f65c)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f65c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f65c)" (( "(") (binary_expression "pcVar10 + 0x34f65c" (identifier "pcVar10") (+ "+") (number_literal "0x34f65c")) () ")")))) (+ "+") (number_literal "0x3a44")) () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar11 + 0x3501a8))();" (assignment_expression "iVar1 = (**(code **)(pcVar11 + 0x3501a8))()" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar11 + 0x3501a8))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x3501a8))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x3501a8)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x3501a8)" (* "*") (cast_expression "(code **)(pcVar11 + 0x3501a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x3501a8)" (( "(") (binary_expression "pcVar11 + 0x3501a8" (identifier "pcVar11") (+ "+") (number_literal "0x3501a8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }\n  else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);\nLAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;\n    (**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);\n  }" ({ "{") (labeled_statement "LAB_00059458:\n    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);" (statement_identifier "LAB_00059458") (: ":") (expression_statement "puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);" (assignment_expression "puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (identifier "puVar7") (= "=") (binary_expression "&DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (pointer_expression "&DAT_00003a18" (& "&") (identifier "DAT_00003a18")) (+ "+") (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))))) (; ";"))) (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7);" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7)" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" (* "*") (cast_expression "(code **)(pcVar11 + 0x3502a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x3502a8)" (( "(") (binary_expression "pcVar11 + 0x3502a8" (identifier "pcVar11") (+ "+") (number_literal "0x3502a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,\n               puVar7)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x3740")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1c8") (, ",") (identifier "puVar7") () ")"))) (; ";")) (labeled_statement "LAB_0005947c:\n    puVar7 = &DAT_00003a18 + (int)puVar7;" (statement_identifier "LAB_0005947c") (: ":") (expression_statement "puVar7 = &DAT_00003a18 + (int)puVar7;" (assignment_expression "puVar7 = &DAT_00003a18 + (int)puVar7" (identifier "puVar7") (= "=") (binary_expression "&DAT_00003a18 + (int)puVar7" (pointer_expression "&DAT_00003a18" (& "&") (identifier "DAT_00003a18")) (+ "+") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")))) (; ";"))) (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7);" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7)" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" (* "*") (cast_expression "(code **)(pcVar11 + 0x3502a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x3502a8)" (( "(") (binary_expression "pcVar11 + 0x3502a8" (identifier "pcVar11") (+ "+") (number_literal "0x3502a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,\n               puVar7)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3794" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x3794")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1ce") (, ",") (identifier "puVar7") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" (else "else") (compound_statement "{\n    if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }\n    iVar6 = *piVar3;\n    if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }\n    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);\n    if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }\n  }" ({ "{") (if_statement "if (piVar3[5] != -0x54535255) {\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }" (if "if") (parenthesized_expression "(piVar3[5] != -0x54535255)" (( "(") (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      (**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));\n      goto LAB_00059458;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));" (call_expression "(**(code **)(pcVar11 + 0x3502a8))\n                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580))" (parenthesized_expression "(**(code **)(pcVar11 + 0x3502a8))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x3502a8)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" (* "*") (cast_expression "(code **)(pcVar11 + 0x3502a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x3502a8)" (( "(") (binary_expression "pcVar11 + 0x3502a8" (identifier "pcVar11") (+ "+") (number_literal "0x3502a8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,\n                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580))" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1c9") (, ",") (binary_expression "&DAT_00003a18 + *(int *)(pcVar11 + 0x34f580)" (pointer_expression "&DAT_00003a18" (& "&") (identifier "DAT_00003a18")) (+ "+") (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")"))))) () ")"))) (; ";")) (goto_statement "goto LAB_00059458;" (goto "goto") (statement_identifier "LAB_00059458") (; ";")) (} "}"))) (expression_statement "iVar6 = *piVar3;" (assignment_expression "iVar6 = *piVar3" (identifier "iVar6") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if (piVar3[4] != 0) {\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }" (if "if") (parenthesized_expression "(piVar3[4] != 0)" (( "(") (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);\n      iVar6 = *piVar3;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);" (call_expression "(**(code **)(pcVar11 + 0x34fe80))\n                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe80))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34fe80)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34fe80)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34fe80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34fe80)" (( "(") (binary_expression "pcVar11 + 0x34fe80" (identifier "pcVar11") (+ "+") (number_literal "0x34fe80")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,\n                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x3a04" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x3a04")) (, ",") (number_literal "0x1cb") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f584) + -0x62ac" (pointer_expression "*(int *)(pcVar11 + 0x34f584)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f584)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f584)" (( "(") (binary_expression "pcVar11 + 0x34f584" (identifier "pcVar11") (+ "+") (number_literal "0x34f584")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "iVar6 + 0x340" (identifier "iVar6") (+ "+") (number_literal "0x340")) () ")"))) (; ";")) (expression_statement "iVar6 = *piVar3;" (assignment_expression "iVar6 = *piVar3" (identifier "iVar6") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (} "}"))) (expression_statement "puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);" (assignment_expression "puVar7 = *(undefined1 **)(pcVar11 + 0x34f580)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined1 **)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(undefined1 **)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar6 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0x2d4) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0x2d4) != 0" (pointer_expression "*(int *)(iVar6 + 0x2d4)" (* "*") (cast_expression "(int *)(iVar6 + 0x2d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x2d4)" (( "(") (binary_expression "iVar6 + 0x2d4" (identifier "iVar6") (+ "+") (number_literal "0x2d4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }\n      goto LAB_0005947c;\n    }" ({ "{") (if_statement "if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }" (if "if") (parenthesized_expression "(iVar1 < piVar3[2])" (( "(") (binary_expression "iVar1 < piVar3[2]" (identifier "iVar1") (< "<") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));\n        return iVar1;\n      }" ({ "{") (expression_statement "iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));" (assignment_expression "iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" (identifier "iVar1") (= "=") (call_expression "FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" (identifier "FUN_000560d0") (argument_list "(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4))" (( "(") (pointer_expression "*(int *)(iVar6 + 0x2d4)" (* "*") (cast_expression "(int *)(iVar6 + 0x2d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x2d4)" (( "(") (binary_expression "iVar6 + 0x2d4" (identifier "iVar6") (+ "+") (number_literal "0x2d4")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[3] + iVar1 * 4)" (( "(") (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (goto_statement "goto LAB_0005947c;" (goto "goto") (statement_identifier "LAB_0005947c") (; ";")) (} "}"))) (} "}")))) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x3502a8);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x3502a8)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x3502a8)" (* "*") (cast_expression "(code **)(pcVar11 + 0x3502a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x3502a8)" (( "(") (binary_expression "pcVar11 + 0x3502a8" (identifier "pcVar11") (+ "+") (number_literal "0x3502a8")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar11 + 0x34f580) + 0x37bc)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x37bc" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x37bc")) () ")")))) (; ";")) (expression_statement "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);" (call_expression "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7)" (( "(") (identifier "piVar3") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f580) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f580)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f580)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f580)" (( "(") (binary_expression "pcVar11 + 0x34f580" (identifier "pcVar11") (+ "+") (number_literal "0x34f580")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1cd") (, ",") (binary_expression "&DAT_00003a18 + (int)puVar7" (pointer_expression "&DAT_00003a18" (& "&") (identifier "DAT_00003a18")) (+ "+") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) () ")"))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }\n    (**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);\n  }" ({ "{") (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }" (if "if") (parenthesized_expression "(piVar3[5] == -0x54535255)" (( "(") (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }\n      return iVar1;\n    }" ({ "{") (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }" (if "if") (parenthesized_expression "(piVar3[4] != 0)" (( "(") (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);\n        iVar1 = *piVar3;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);" (call_expression "(**(code **)(pcVar10 + 0x34fd24))\n                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fd24))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fd24)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fd24)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fd24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fd24)" (( "(") (binary_expression "pcVar10 + 0x34fd24" (identifier "pcVar10") (+ "+") (number_literal "0x34fd24")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,\n                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,\n                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39dc" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x39dc")) (, ",") (number_literal "0x1ef") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f428) + -0x62ac" (pointer_expression "*(int *)(pcVar10 + 0x34f428)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f428)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f428)" (( "(") (binary_expression "pcVar10 + 0x34f428" (identifier "pcVar10") (+ "+") (number_literal "0x34f428")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "iVar1 + 0x340" (identifier "iVar1") (+ "+") (number_literal "0x340")) (, ",") (binary_expression "pcVar10 + 0x3573f4" (identifier "pcVar10") (+ "+") (number_literal "0x3573f4")) () ")"))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (} "}"))) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0);" (call_expression "(**(code **)(pcVar10 + 0x35014c))\n              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x35014c))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x35014c)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x35014c)" (* "*") (cast_expression "(code **)(pcVar10 + 0x35014c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x35014c)" (( "(") (binary_expression "pcVar10 + 0x35014c" (identifier "pcVar10") (+ "+") (number_literal "0x35014c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,\n               *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1ed") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x39f0")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x35014c);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x35014c)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x35014c)" (* "*") (cast_expression "(code **)(pcVar10 + 0x35014c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x35014c)" (( "(") (binary_expression "pcVar10 + 0x35014c" (identifier "pcVar10") (+ "+") (number_literal "0x35014c")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x34f424) + 0x3740)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x3740")) () ")")))) (; ";")) (expression_statement "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0);" (call_expression "(*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,\n             *(int *)(pcVar10 + 0x34f424) + 0x39f0)" (( "(") (identifier "piVar3") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x1ec") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f424) + 0x39f0" (pointer_expression "*(int *)(pcVar10 + 0x34f424)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f424)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f424)" (( "(") (binary_expression "pcVar10 + 0x34f424" (identifier "pcVar10") (+ "+") (number_literal "0x34f424")) () ")")))) (+ "+") (number_literal "0x39f0")) () ")"))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }\n    (**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);\n  }" ({ "{") (if_statement "if (piVar3[5] == -0x54535255) {\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" (if "if") (parenthesized_expression "(piVar3[5] == -0x54535255)" (( "(") (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      iVar1 = *piVar3;\n      if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }\n      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));\n      return iVar1;\n    }" ({ "{") (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if (piVar3[4] != 0) {\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }" (if "if") (parenthesized_expression "(piVar3[4] != 0)" (( "(") (binary_expression "piVar3[4] != 0" (subscript_expression "piVar3[4]" (identifier "piVar3") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);\n        iVar1 = *piVar3;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);" (call_expression "(**(code **)(pcVar11 + 0x34fc54))\n                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fc54))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34fc54)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34fc54)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34fc54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34fc54)" (( "(") (binary_expression "pcVar11 + 0x34fc54" (identifier "pcVar11") (+ "+") (number_literal "0x34fc54")) () ")"))))) () ")")) (argument_list "(0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,\n                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,\n                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324)" (( "(") (number_literal "0x8000") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39a4" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x39a4")) (, ",") (number_literal "0x210") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f358) + -0x62ac" (pointer_expression "*(int *)(pcVar11 + 0x34f358)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f358)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f358)" (( "(") (binary_expression "pcVar11 + 0x34f358" (identifier "pcVar11") (+ "+") (number_literal "0x34f358")) () ")")))) (+ "+") (number_literal "-0x62ac")) (, ",") (binary_expression "iVar1 + 0x340" (identifier "iVar1") (+ "+") (number_literal "0x340")) (, ",") (binary_expression "pcVar11 + 0x357324" (identifier "pcVar11") (+ "+") (number_literal "0x357324")) () ")"))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (} "}"))) (expression_statement "iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));" (assignment_expression "iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4))" (identifier "iVar1") (= "=") (call_expression "FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4))" (identifier "FUN_0005648c") (argument_list "(*(undefined4 *)(iVar1 + 0x2d4))" (( "(") (pointer_expression "*(undefined4 *)(iVar1 + 0x2d4)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x2d4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2d4)" (( "(") (binary_expression "iVar1 + 0x2d4" (identifier "iVar1") (+ "+") (number_literal "0x2d4")) () ")")))) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0);" (call_expression "(**(code **)(pcVar11 + 0x35007c))\n              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (parenthesized_expression "(**(code **)(pcVar11 + 0x35007c))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x35007c)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x35007c)" (* "*") (cast_expression "(code **)(pcVar11 + 0x35007c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x35007c)" (( "(") (binary_expression "pcVar11 + 0x35007c" (identifier "pcVar11") (+ "+") (number_literal "0x35007c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,\n               *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x20e") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x39c0")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x35007c);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x35007c)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x35007c)" (* "*") (cast_expression "(code **)(pcVar11 + 0x35007c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x35007c)" (( "(") (binary_expression "pcVar11 + 0x35007c" (identifier "pcVar11") (+ "+") (number_literal "0x35007c")) () ")"))))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar11 + 0x34f354) + 0x3740)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x3740")) () ")")))) (; ";")) (expression_statement "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0);" (call_expression "(*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,\n             *(int *)(pcVar11 + 0x34f354) + 0x39c0)" (( "(") (identifier "piVar3") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x20d") (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f354) + 0x39c0" (pointer_expression "*(int *)(pcVar11 + 0x34f354)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f354)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f354)" (( "(") (binary_expression "pcVar11 + 0x34f354" (identifier "pcVar11") (+ "+") (number_literal "0x34f354")) () ")")))) (+ "+") (number_literal "0x39c0")) () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fea0))();" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fea0))()" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar10 + 0x34fea0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fea0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fea0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fea0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fea0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fea0)" (( "(") (binary_expression "pcVar10 + 0x34fea0" (identifier "pcVar10") (+ "+") (number_literal "0x34fea0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }\n  else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);\nLAB_00059710:\n    iVar6 = iVar6 + 0x3984;\n    (**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);\n  }" ({ "{") (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3984" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x3984"))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34ffa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34ffa0)" (( "(") (binary_expression "pcVar10 + 0x34ffa0" (identifier "pcVar10") (+ "+") (number_literal "0x34ffa0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x37e8" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x37e8")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x237") () ")"))) (; ";")) (labeled_statement "LAB_00059710:\n    iVar6 = iVar6 + 0x3984;" (statement_identifier "LAB_00059710") (: ":") (expression_statement "iVar6 = iVar6 + 0x3984;" (assignment_expression "iVar6 = iVar6 + 0x3984" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 0x3984" (identifier "iVar6") (+ "+") (number_literal "0x3984"))) (; ";"))) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34ffa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34ffa0)" (( "(") (binary_expression "pcVar10 + 0x34ffa0" (identifier "pcVar10") (+ "+") (number_literal "0x34ffa0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3794" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x3794")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x23a") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" (else "else") (compound_statement "{\n    iVar6 = *(int *)(pcVar10 + 0x34f278);\n    if (piVar3[5] != -0x54535255) goto LAB_0005974c;\n    if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }\n  }" ({ "{") (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278);" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")"))))) (; ";")) (if_statement "if (piVar3[5] != -0x54535255) goto LAB_0005974c;" (if "if") (parenthesized_expression "(piVar3[5] != -0x54535255)" (( "(") (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (goto_statement "goto LAB_0005974c;" (goto "goto") (statement_identifier "LAB_0005974c") (; ";"))) (if_statement "if (*(int *)(*piVar3 + 0x2d4) != 0) {\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }" (if "if") (parenthesized_expression "(*(int *)(*piVar3 + 0x2d4) != 0)" (( "(") (binary_expression "*(int *)(*piVar3 + 0x2d4) != 0" (pointer_expression "*(int *)(*piVar3 + 0x2d4)" (* "*") (cast_expression "(int *)(*piVar3 + 0x2d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar3 + 0x2d4)" (( "(") (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0x2d4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }\n      goto LAB_00059710;\n    }" ({ "{") (if_statement "if (iVar1 < piVar3[2]) {\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }" (if "if") (parenthesized_expression "(iVar1 < piVar3[2])" (( "(") (binary_expression "iVar1 < piVar3[2]" (identifier "iVar1") (< "<") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;\n        return iVar1;\n      }" ({ "{") (expression_statement "iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)\n        ;" (assignment_expression "iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" (identifier "iVar1") (= "=") (call_expression "FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" (identifier "FUN_000567dc") (argument_list "(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)" (( "(") (pointer_expression "*(int *)(*piVar3 + 0x2d4)" (* "*") (cast_expression "(int *)(*piVar3 + 0x2d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar3 + 0x2d4)" (( "(") (binary_expression "*piVar3 + 0x2d4" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0x2d4")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[3] + iVar1 * 4)" (( "(") (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (, ",") (number_literal "0x239") () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (goto_statement "goto LAB_00059710;" (goto "goto") (statement_identifier "LAB_00059710") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar6 = iVar6 + 0x3984;" (assignment_expression "iVar6 = iVar6 + 0x3984" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 0x3984" (identifier "iVar6") (+ "+") (number_literal "0x3984"))) (; ";")) (expression_statement "(**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);" (call_expression "(**(code **)(pcVar10 + 0x34ffa0))\n            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34ffa0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34ffa0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34ffa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34ffa0)" (( "(") (binary_expression "pcVar10 + 0x34ffa0" (identifier "pcVar10") (+ "+") (number_literal "0x34ffa0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x37bc" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x37bc")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x370c")) () ")"))) (; ";")) (labeled_statement "LAB_0005974c:\n  uVar5 = 0x238;" (statement_identifier "LAB_0005974c") (: ":") (expression_statement "uVar5 = 0x238;" (assignment_expression "uVar5 = 0x238" (identifier "uVar5") (= "=") (number_literal "0x238")) (; ";"))) (expression_statement "pcVar11 = *(code **)(pcVar10 + 0x34ffa0);" (assignment_expression "pcVar11 = *(code **)(pcVar10 + 0x34ffa0)" (identifier "pcVar11") (= "=") (pointer_expression "*(code **)(pcVar10 + 0x34ffa0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34ffa0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34ffa0)" (( "(") (binary_expression "pcVar10 + 0x34ffa0" (identifier "pcVar10") (+ "+") (number_literal "0x34ffa0")) () ")"))))) (; ";")) (expression_statement "pfVar8 = (float *)(iVar6 + 0x3984);" (assignment_expression "pfVar8 = (float *)(iVar6 + 0x3984)" (identifier "pfVar8") (= "=") (cast_expression "(float *)(iVar6 + 0x3984)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3984)" (( "(") (binary_expression "iVar6 + 0x3984" (identifier "iVar6") (+ "+") (number_literal "0x3984")) () ")")))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;" (assignment_expression "iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x370c"))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar10 + 0x34f278) + 0x3764)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34f278) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34f278)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34f278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34f278)" (( "(") (binary_expression "pcVar10 + 0x34f278" (identifier "pcVar10") (+ "+") (number_literal "0x34f278")) () ")")))) (+ "+") (number_literal "0x3764")) () ")")))) (; ";")) (expression_statement "(*pcVar11)();" (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();" (assignment_expression "iVar1 = (**(code **)(pcVar11 + 0x34fd9c))()" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar11 + 0x34fd9c))()" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fd9c))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34fd9c)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34fd9c)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34fd9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34fd9c)" (( "(") (binary_expression "pcVar11 + 0x34fd9c" (identifier "pcVar11") (+ "+") (number_literal "0x34fd9c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (piVar3 != (int *)0x0) {\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }" (if "if") (parenthesized_expression "(piVar3 != (int *)0x0)" (( "(") (binary_expression "piVar3 != (int *)0x0" (identifier "piVar3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar9 = *(int *)(pcVar11 + 0x34f174);\n    if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }\n    (**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);\n  }" ({ "{") (expression_statement "iVar9 = *(int *)(pcVar11 + 0x34f174);" (assignment_expression "iVar9 = *(int *)(pcVar11 + 0x34f174)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")"))))) (; ";")) (if_statement "if (piVar3[5] == -0x54535255) {\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }" (if "if") (parenthesized_expression "(piVar3[5] == -0x54535255)" (( "(") (binary_expression "piVar3[5] == -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n      if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }\n      iVar9 = iVar9 + 0x3928;\n      (**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);\n    }" ({ "{") (if_statement "if (iVar1 < piVar3[2]) {\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }" (if "if") (parenthesized_expression "(iVar1 < piVar3[2])" (( "(") (binary_expression "iVar1 < piVar3[2]" (identifier "iVar1") (< "<") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);\n        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);\n        iVar1 = *piVar3;\n        if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }\n        if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }\n        return 1;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);" (call_expression "(**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34ff68))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34ff68)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34ff68)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34ff68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34ff68)" (( "(") (binary_expression "pcVar11 + 0x34ff68" (identifier "pcVar11") (+ "+") (number_literal "0x34ff68")) () ")"))))) () ")")) (argument_list "(pfVar8,0,0x100)" (( "(") (identifier "pfVar8") (, ",") (number_literal "0") (, ",") (number_literal "0x100") () ")"))) (; ";")) (expression_statement "pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248);" (assignment_expression "pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" (identifier "pfVar2") (= "=") (cast_expression "(float *)(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar11 + 0x34f2a8))\n                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34f2a8))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34f2a8)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34f2a8)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34f2a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34f2a8)" (( "(") (binary_expression "pcVar11 + 0x34f2a8" (identifier "pcVar11") (+ "+") (number_literal "0x34f2a8")) () ")"))))) () ")")) (argument_list "(*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),\n                                     pcVar10 + 0x357248)" (( "(") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (, ",") (identifier "iVar6") (, ",") (identifier "uVar5") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[3] + iVar1 * 4)" (( "(") (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (, ",") (binary_expression "pcVar10 + 0x357248" (identifier "pcVar10") (+ "+") (number_literal "0x357248")) () ")"))))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if (pfVar2 == (float *)0x0) {\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }" (if "if") (parenthesized_expression "(pfVar2 == (float *)0x0)" (( "(") (binary_expression "pfVar2 == (float *)0x0" (identifier "pfVar2") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          dVar16 = *(double *)(iVar1 + 0xc0);\n          dVar15 = *(double *)(iVar1 + 200);\n          dVar14 = *(double *)(iVar1 + 0xd0);\n          dVar12 = *(double *)(iVar1 + 0xb0);\n          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n          pfVar8[2] = (float)dVar16;\n          pfVar8[3] = (float)dVar15;\n          pfVar8[4] = (float)dVar14;\n          *pfVar8 = (float)dVar12;\n          return 0;\n        }" ({ "{") (expression_statement "dVar16 = *(double *)(iVar1 + 0xc0);" (assignment_expression "dVar16 = *(double *)(iVar1 + 0xc0)" (identifier "dVar16") (= "=") (pointer_expression "*(double *)(iVar1 + 0xc0)" (* "*") (cast_expression "(double *)(iVar1 + 0xc0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc0)" (( "(") (binary_expression "iVar1 + 0xc0" (identifier "iVar1") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "dVar15 = *(double *)(iVar1 + 200);" (assignment_expression "dVar15 = *(double *)(iVar1 + 200)" (identifier "dVar15") (= "=") (pointer_expression "*(double *)(iVar1 + 200)" (* "*") (cast_expression "(double *)(iVar1 + 200)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 200)" (( "(") (binary_expression "iVar1 + 200" (identifier "iVar1") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (expression_statement "dVar14 = *(double *)(iVar1 + 0xd0);" (assignment_expression "dVar14 = *(double *)(iVar1 + 0xd0)" (identifier "dVar14") (= "=") (pointer_expression "*(double *)(iVar1 + 0xd0)" (* "*") (cast_expression "(double *)(iVar1 + 0xd0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xd0)" (( "(") (binary_expression "iVar1 + 0xd0" (identifier "iVar1") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "dVar12 = *(double *)(iVar1 + 0xb0);" (assignment_expression "dVar12 = *(double *)(iVar1 + 0xb0)" (identifier "dVar12") (= "=") (pointer_expression "*(double *)(iVar1 + 0xb0)" (* "*") (cast_expression "(double *)(iVar1 + 0xb0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xb0)" (( "(") (binary_expression "iVar1 + 0xb0" (identifier "iVar1") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (expression_statement "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);" (assignment_expression "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8)" (subscript_expression "pfVar8[1]" (identifier "pfVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(float)*(double *)(iVar1 + 0xb8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar1 + 0xb8)" (* "*") (cast_expression "(double *)(iVar1 + 0xb8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xb8)" (( "(") (binary_expression "iVar1 + 0xb8" (identifier "iVar1") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (expression_statement "pfVar8[2] = (float)dVar16;" (assignment_expression "pfVar8[2] = (float)dVar16" (subscript_expression "pfVar8[2]" (identifier "pfVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(float)dVar16" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar16"))) (; ";")) (expression_statement "pfVar8[3] = (float)dVar15;" (assignment_expression "pfVar8[3] = (float)dVar15" (subscript_expression "pfVar8[3]" (identifier "pfVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(float)dVar15" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar15"))) (; ";")) (expression_statement "pfVar8[4] = (float)dVar14;" (assignment_expression "pfVar8[4] = (float)dVar14" (subscript_expression "pfVar8[4]" (identifier "pfVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(float)dVar14" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar14"))) (; ";")) (expression_statement "*pfVar8 = (float)dVar12;" (assignment_expression "*pfVar8 = (float)dVar12" (pointer_expression "*pfVar8" (* "*") (identifier "pfVar8")) (= "=") (cast_expression "(float)dVar12" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar12"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (0 < *(int *)(iVar1 + 0x2c0)) {\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar1 + 0x2c0))" (( "(") (binary_expression "0 < *(int *)(iVar1 + 0x2c0)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar1 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2c0)" (( "(") (binary_expression "iVar1 + 0x2c0" (identifier "iVar1") (+ "+") (number_literal "0x2c0")) () ")"))))) () ")")) (compound_statement "{\n          piVar3 = *(int **)(iVar1 + 0x2d0);\n          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n          do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);\n        }" ({ "{") (expression_statement "piVar3 = *(int **)(iVar1 + 0x2d0);" (assignment_expression "piVar3 = *(int **)(iVar1 + 0x2d0)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(iVar1 + 0x2d0)" (* "*") (cast_expression "(int **)(iVar1 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x2d0)" (( "(") (binary_expression "iVar1 + 0x2d0" (identifier "iVar1") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);" (assignment_expression "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0)" (identifier "pfVar4") (= "=") (binary_expression "pfVar2 + *(int *)(iVar1 + 0x2c0)" (identifier "pfVar2") (+ "+") (pointer_expression "*(int *)(iVar1 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2c0)" (( "(") (binary_expression "iVar1 + 0x2c0" (identifier "iVar1") (+ "+") (number_literal "0x2c0")) () ")")))))) (; ";")) (do_statement "do {\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          } while (pfVar2 != pfVar4);" (do "do") (compound_statement "{\n            fVar13 = *pfVar2;\n            pfVar2 = pfVar2 + 1;\n            iVar1 = *piVar3;\n            piVar3 = piVar3 + 3;\n            pfVar8[iVar1] = fVar13;\n          }" ({ "{") (expression_statement "fVar13 = *pfVar2;" (assignment_expression "fVar13 = *pfVar2" (identifier "fVar13") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" (identifier "pfVar2") (= "=") (binary_expression "pfVar2 + 1" (identifier "pfVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (expression_statement "piVar3 = piVar3 + 3;" (assignment_expression "piVar3 = piVar3 + 3" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 3" (identifier "piVar3") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pfVar8[iVar1] = fVar13;" (assignment_expression "pfVar8[iVar1] = fVar13" (subscript_expression "pfVar8[iVar1]" (identifier "pfVar8") ([ "[") (identifier "iVar1") (] "]")) (= "=") (identifier "fVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar2 != pfVar4)" (( "(") (binary_expression "pfVar2 != pfVar4" (identifier "pfVar2") (!= "!=") (identifier "pfVar4")) () ")")) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar9 = iVar9 + 0x3928;" (assignment_expression "iVar9 = iVar9 + 0x3928" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 0x3928" (identifier "iVar9") (+ "+") (number_literal "0x3928"))) (; ";")) (expression_statement "(**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9);" (call_expression "(**(code **)(pcVar11 + 0x34fe9c))\n                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe9c))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34fe9c)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34fe9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34fe9c)" (( "(") (binary_expression "pcVar11 + 0x34fe9c" (identifier "pcVar11") (+ "+") (number_literal "0x34fe9c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,\n                 iVar9)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3794" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x3794")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x2cc") (, ",") (identifier "iVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928);" (call_expression "(**(code **)(pcVar11 + 0x34fe9c))\n              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928)" (parenthesized_expression "(**(code **)(pcVar11 + 0x34fe9c))" (( "(") (pointer_expression "**(code **)(pcVar11 + 0x34fe9c)" (* "*") (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34fe9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34fe9c)" (( "(") (binary_expression "pcVar11 + 0x34fe9c" (identifier "pcVar11") (+ "+") (number_literal "0x34fe9c")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,\n               iVar9 + 0x3928)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3764" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x2cb") (, ",") (binary_expression "iVar9 + 0x3928" (identifier "iVar9") (+ "+") (number_literal "0x3928")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = 0x2ca;" (assignment_expression "uVar5 = 0x2ca" (identifier "uVar5") (= "=") (number_literal "0x2ca")) (; ";")) (expression_statement "pcVar10 = *(code **)(pcVar11 + 0x34fe9c);" (assignment_expression "pcVar10 = *(code **)(pcVar11 + 0x34fe9c)" (identifier "pcVar10") (= "=") (pointer_expression "*(code **)(pcVar11 + 0x34fe9c)" (* "*") (cast_expression "(code **)(pcVar11 + 0x34fe9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar11 + 0x34fe9c)" (( "(") (binary_expression "pcVar11 + 0x34fe9c" (identifier "pcVar11") (+ "+") (number_literal "0x34fe9c")) () ")"))))) (; ";")) (expression_statement "pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);" (assignment_expression "pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928)" (identifier "pfVar8") (= "=") (cast_expression "(float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar11 + 0x34f174) + 0x3928)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3928" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x3928")) () ")")))) (; ";")) (expression_statement "iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;" (assignment_expression "iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c" (identifier "iVar6") (= "=") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x370c" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x370c"))) (; ";")) (expression_statement "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);" (assignment_expression "piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740)" (identifier "piVar3") (= "=") (cast_expression "(int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar11 + 0x34f174) + 0x3740)" (( "(") (binary_expression "*(int *)(pcVar11 + 0x34f174) + 0x3740" (pointer_expression "*(int *)(pcVar11 + 0x34f174)" (* "*") (cast_expression "(int *)(pcVar11 + 0x34f174)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar11 + 0x34f174)" (( "(") (binary_expression "pcVar11 + 0x34f174" (identifier "pcVar11") (+ "+") (number_literal "0x34f174")) () ")")))) (+ "+") (number_literal "0x3740")) () ")")))) (; ";")) (expression_statement "(*pcVar10)(piVar3,iVar6,0x2ca);" (call_expression "(*pcVar10)(piVar3,iVar6,0x2ca)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(piVar3,iVar6,0x2ca)" (( "(") (identifier "piVar3") (, ",") (identifier "iVar6") (, ",") (number_literal "0x2ca") () ")"))) (; ";")) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fbb0))()" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar10 + 0x34fbb0))()" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fbb0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fbb0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fbb0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fbb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fbb0)" (( "(") (binary_expression "pcVar10 + 0x34fbb0" (identifier "pcVar10") (+ "+") (number_literal "0x34fbb0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (piVar3 == (int *)0x0) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(piVar3 == (int *)0x0)" (( "(") (binary_expression "piVar3 == (int *)0x0" (identifier "piVar3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" ({ "{") (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fcb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fcb0)" (( "(") (binary_expression "pcVar10 + 0x34fcb0" (identifier "pcVar10") (+ "+") (number_literal "0x34fcb0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3740" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x3740")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x312") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x390c")) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (if_statement "if (piVar3[5] != -0x54535255) {\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(piVar3[5] != -0x54535255)" (( "(") (binary_expression "piVar3[5] != -0x54535255" (subscript_expression "piVar3[5]" (identifier "piVar3") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);\n    return iVar1;\n  }" ({ "{") (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fcb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fcb0)" (( "(") (binary_expression "pcVar10 + 0x34fcb0" (identifier "pcVar10") (+ "+") (number_literal "0x34fcb0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3764" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x3764")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x313") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x390c")) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (if_statement "if (iVar1 < piVar3[2]) {\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }" (if "if") (parenthesized_expression "(iVar1 < piVar3[2])" (( "(") (binary_expression "iVar1 < piVar3[2]" (identifier "iVar1") (< "<") (subscript_expression "piVar3[2]" (identifier "piVar3") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\n    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);\n    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);\n    iVar1 = *piVar3;\n    if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }\n    if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }\n    return 1;\n  }" ({ "{") (expression_statement "(**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);" (call_expression "(**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fd7c))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fd7c)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fd7c)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fd7c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fd7c)" (( "(") (binary_expression "pcVar10 + 0x34fd7c" (identifier "pcVar10") (+ "+") (number_literal "0x34fd7c")) () ")"))))) () ")")) (argument_list "(pfVar8,0,0x100)" (( "(") (identifier "pfVar8") (, ",") (number_literal "0") (, ",") (number_literal "0x100") () ")"))) (; ";")) (expression_statement "pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);" (assignment_expression "pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" (identifier "pfVar2") (= "=") (cast_expression "(float *)(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar10 + 0x34f0ac))\n                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34f0ac))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34f0ac)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34f0ac)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34f0ac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34f0ac)" (( "(") (binary_expression "pcVar10 + 0x34f0ac" (identifier "pcVar10") (+ "+") (number_literal "0x34f0ac")) () ")"))))) () ")")) (argument_list "(*piVar3,piVar3[1],iVar6,uVar5,1,1,\n                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0)" (( "(") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (, ",") (subscript_expression "piVar3[1]" (identifier "piVar3") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "iVar6") (, ",") (identifier "uVar5") (, ",") (number_literal "1") (, ",") (number_literal "1") (, ",") (pointer_expression "*(undefined4 *)(piVar3[3] + iVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(piVar3[3] + iVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar3[3] + iVar1 * 4)" (( "(") (binary_expression "piVar3[3] + iVar1 * 4" (subscript_expression "piVar3[3]" (identifier "piVar3") ([ "[") (number_literal "3") (] "]")) (+ "+") (binary_expression "iVar1 * 4" (identifier "iVar1") (* "*") (number_literal "4"))) () ")")))) (, ",") (identifier "in_stack_fffffec0") () ")"))))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (if_statement "if (pfVar2 == (float *)0x0) {\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }" (if "if") (parenthesized_expression "(pfVar2 == (float *)0x0)" (( "(") (binary_expression "pfVar2 == (float *)0x0" (identifier "pfVar2") (== "==") (cast_expression "(float *)0x0" (( "(") (type_descriptor "float *" (primitive_type "float") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      dVar16 = *(double *)(iVar1 + 0xc0);\n      dVar15 = *(double *)(iVar1 + 200);\n      dVar14 = *(double *)(iVar1 + 0xd0);\n      dVar12 = *(double *)(iVar1 + 0xb0);\n      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);\n      pfVar8[2] = (float)dVar16;\n      pfVar8[3] = (float)dVar15;\n      pfVar8[4] = (float)dVar14;\n      *pfVar8 = (float)dVar12;\n      return 0;\n    }" ({ "{") (expression_statement "dVar16 = *(double *)(iVar1 + 0xc0);" (assignment_expression "dVar16 = *(double *)(iVar1 + 0xc0)" (identifier "dVar16") (= "=") (pointer_expression "*(double *)(iVar1 + 0xc0)" (* "*") (cast_expression "(double *)(iVar1 + 0xc0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc0)" (( "(") (binary_expression "iVar1 + 0xc0" (identifier "iVar1") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "dVar15 = *(double *)(iVar1 + 200);" (assignment_expression "dVar15 = *(double *)(iVar1 + 200)" (identifier "dVar15") (= "=") (pointer_expression "*(double *)(iVar1 + 200)" (* "*") (cast_expression "(double *)(iVar1 + 200)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 200)" (( "(") (binary_expression "iVar1 + 200" (identifier "iVar1") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (expression_statement "dVar14 = *(double *)(iVar1 + 0xd0);" (assignment_expression "dVar14 = *(double *)(iVar1 + 0xd0)" (identifier "dVar14") (= "=") (pointer_expression "*(double *)(iVar1 + 0xd0)" (* "*") (cast_expression "(double *)(iVar1 + 0xd0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xd0)" (( "(") (binary_expression "iVar1 + 0xd0" (identifier "iVar1") (+ "+") (number_literal "0xd0")) () ")"))))) (; ";")) (expression_statement "dVar12 = *(double *)(iVar1 + 0xb0);" (assignment_expression "dVar12 = *(double *)(iVar1 + 0xb0)" (identifier "dVar12") (= "=") (pointer_expression "*(double *)(iVar1 + 0xb0)" (* "*") (cast_expression "(double *)(iVar1 + 0xb0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xb0)" (( "(") (binary_expression "iVar1 + 0xb0" (identifier "iVar1") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (expression_statement "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);" (assignment_expression "pfVar8[1] = (float)*(double *)(iVar1 + 0xb8)" (subscript_expression "pfVar8[1]" (identifier "pfVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(float)*(double *)(iVar1 + 0xb8)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar1 + 0xb8)" (* "*") (cast_expression "(double *)(iVar1 + 0xb8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xb8)" (( "(") (binary_expression "iVar1 + 0xb8" (identifier "iVar1") (+ "+") (number_literal "0xb8")) () ")")))))) (; ";")) (expression_statement "pfVar8[2] = (float)dVar16;" (assignment_expression "pfVar8[2] = (float)dVar16" (subscript_expression "pfVar8[2]" (identifier "pfVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(float)dVar16" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar16"))) (; ";")) (expression_statement "pfVar8[3] = (float)dVar15;" (assignment_expression "pfVar8[3] = (float)dVar15" (subscript_expression "pfVar8[3]" (identifier "pfVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(float)dVar15" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar15"))) (; ";")) (expression_statement "pfVar8[4] = (float)dVar14;" (assignment_expression "pfVar8[4] = (float)dVar14" (subscript_expression "pfVar8[4]" (identifier "pfVar8") ([ "[") (number_literal "4") (] "]")) (= "=") (cast_expression "(float)dVar14" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar14"))) (; ";")) (expression_statement "*pfVar8 = (float)dVar12;" (assignment_expression "*pfVar8 = (float)dVar12" (pointer_expression "*pfVar8" (* "*") (identifier "pfVar8")) (= "=") (cast_expression "(float)dVar12" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar12"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (0 < *(int *)(iVar1 + 0x2c0)) {\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar1 + 0x2c0))" (( "(") (binary_expression "0 < *(int *)(iVar1 + 0x2c0)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar1 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2c0)" (( "(") (binary_expression "iVar1 + 0x2c0" (identifier "iVar1") (+ "+") (number_literal "0x2c0")) () ")"))))) () ")")) (compound_statement "{\n      piVar3 = *(int **)(iVar1 + 0x2d0);\n      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);\n      do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);\n    }" ({ "{") (expression_statement "piVar3 = *(int **)(iVar1 + 0x2d0);" (assignment_expression "piVar3 = *(int **)(iVar1 + 0x2d0)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(iVar1 + 0x2d0)" (* "*") (cast_expression "(int **)(iVar1 + 0x2d0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar1 + 0x2d0)" (( "(") (binary_expression "iVar1 + 0x2d0" (identifier "iVar1") (+ "+") (number_literal "0x2d0")) () ")"))))) (; ";")) (expression_statement "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);" (assignment_expression "pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0)" (identifier "pfVar4") (= "=") (binary_expression "pfVar2 + *(int *)(iVar1 + 0x2c0)" (identifier "pfVar2") (+ "+") (pointer_expression "*(int *)(iVar1 + 0x2c0)" (* "*") (cast_expression "(int *)(iVar1 + 0x2c0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2c0)" (( "(") (binary_expression "iVar1 + 0x2c0" (identifier "iVar1") (+ "+") (number_literal "0x2c0")) () ")")))))) (; ";")) (do_statement "do {\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      } while (pfVar2 != pfVar4);" (do "do") (compound_statement "{\n        fVar13 = *pfVar2;\n        pfVar2 = pfVar2 + 1;\n        iVar1 = *piVar3;\n        piVar3 = piVar3 + 3;\n        pfVar8[iVar1] = fVar13;\n      }" ({ "{") (expression_statement "fVar13 = *pfVar2;" (assignment_expression "fVar13 = *pfVar2" (identifier "fVar13") (= "=") (pointer_expression "*pfVar2" (* "*") (identifier "pfVar2"))) (; ";")) (expression_statement "pfVar2 = pfVar2 + 1;" (assignment_expression "pfVar2 = pfVar2 + 1" (identifier "pfVar2") (= "=") (binary_expression "pfVar2 + 1" (identifier "pfVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar1 = *piVar3;" (assignment_expression "iVar1 = *piVar3" (identifier "iVar1") (= "=") (pointer_expression "*piVar3" (* "*") (identifier "piVar3"))) (; ";")) (expression_statement "piVar3 = piVar3 + 3;" (assignment_expression "piVar3 = piVar3 + 3" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 3" (identifier "piVar3") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "pfVar8[iVar1] = fVar13;" (assignment_expression "pfVar8[iVar1] = fVar13" (subscript_expression "pfVar8[iVar1]" (identifier "pfVar8") ([ "[") (identifier "iVar1") (] "]")) (= "=") (identifier "fVar13")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pfVar2 != pfVar4)" (( "(") (binary_expression "pfVar2 != pfVar4" (identifier "pfVar2") (!= "!=") (identifier "pfVar4")) () ")")) (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);" (assignment_expression "iVar1 = (**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(pcVar10 + 0x34fcb0))\n                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (parenthesized_expression "(**(code **)(pcVar10 + 0x34fcb0))" (( "(") (pointer_expression "**(code **)(pcVar10 + 0x34fcb0)" (* "*") (pointer_expression "*(code **)(pcVar10 + 0x34fcb0)" (* "*") (cast_expression "(code **)(pcVar10 + 0x34fcb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar10 + 0x34fcb0)" (( "(") (binary_expression "pcVar10 + 0x34fcb0" (identifier "pcVar10") (+ "+") (number_literal "0x34fcb0")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,\n                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c)" (( "(") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x3794" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x3794")) (, ",") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x370c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x370c")) (, ",") (number_literal "0x314") (, ",") (binary_expression "*(int *)(pcVar10 + 0x34ef88) + 0x390c" (pointer_expression "*(int *)(pcVar10 + 0x34ef88)" (* "*") (cast_expression "(int *)(pcVar10 + 0x34ef88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar10 + 0x34ef88)" (( "(") (binary_expression "pcVar10 + 0x34ef88" (identifier "pcVar10") (+ "+") (number_literal "0x34ef88")) () ")")))) (+ "+") (number_literal "0x390c")) () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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 (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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))))) (return_statement (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 (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: (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: (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))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (return_statement (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))))))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (identifier) right: (number_literal))))))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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 (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: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (return_statement (identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (identifier) right: (pointer_expression argument: (identifier)))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (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: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (identifier) right: (number_literal))))))))) (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (goto_statement label: (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) (number_literal))))) (return_statement (identifier)))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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 (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)) (identifier) (identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (return_statement (number_literal)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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)))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (return_statement (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 (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (subscript_expression argument: (identifier) index: (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: (identifier) right: (subscript_expression argument: (identifier) index: (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 (identifier) (number_literal) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (return_statement (number_literal)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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)))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (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)))))

int MASKED(int *param_1)

{
  int iVar1;
  float *pfVar2;
  int *piVar3;
  float *pfVar4;
  undefined4 uVar5;
  int iVar6;
  undefined1 *puVar7;
  float *pfVar8;
  int iVar9;
  undefined *UNRECOVERED_JUMPTABLE;
  code *pcVar10;
  code *pcVar11;
  float fVar13;
  double dVar12;
  double dVar14;
  double dVar15;
  double dVar16;
  undefined4 in_stack_fffffec0;
  
  if (param_1 != (int *)0x0) {
    if (param_1[5] == -0x54535255) {
      if (param_1[4] != 0) {
        (*(code *)PTR_LogMagickEvent_003a91e0)
                  (0x8000,PTR_LAB_003a88e0 + 0x370c,PTR_LAB_003a88e0 + 0x3abc,0x101,
                   PTR_s_t_to_left_003a88e4 + -0x62ac,*param_1 + 0x340);
      }
      if (param_1[3] != 0) {
        iVar1 = FUN_000534b4(param_1[3],param_1[2]);
        param_1[3] = iVar1;
      }
      iVar1 = (*(code *)PTR_DestroyImage_003a8f4c)(*param_1);
      *param_1 = iVar1;
      UNRECOVERED_JUMPTABLE = PTR_RelinquishAlignedMemory_003a96cc;
      param_1[5] = 0x54535254;
                    /* WARNING: Could not recover jumptable at 0x000590f4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      iVar1 = (*(code *)UNRECOVERED_JUMPTABLE)(param_1);
      return iVar1;
    }
    (*(code *)PTR___assert_fail_003a9608)
              (PTR_LAB_003a88e0 + 0x3764,PTR_LAB_003a88e0 + 0x370c,0xff,PTR_LAB_003a88e0 + 0x3ad0);
  }
  piVar3 = (int *)(PTR_LAB_003a88e0 + 0x3740);
  UNRECOVERED_JUMPTABLE = PTR___assert_fail_003a9608;
  (*(code *)PTR___assert_fail_003a9608)
            (piVar3,PTR_LAB_003a88e0 + 0x370c,0xfe,PTR_LAB_003a88e0 + 0x3ad0);
  iVar1 = (**(code **)(UNRECOVERED_JUMPTABLE + 0x350388))();
  if (piVar3 == (int *)0x0) {
    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3740,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15b,iVar6);
LAB_00059228:
    iVar6 = iVar6 + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3794,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15e,iVar6);
LAB_00059248:
    iVar6 = iVar6 + 0x3a7c;
    (**(code **)(UNRECOVERED_JUMPTABLE + 0x350488))
              (*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x37bc,
               *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c);
  }
  else {
    iVar6 = *(int *)(UNRECOVERED_JUMPTABLE + 0x34f760);
    if (piVar3[5] == -0x54535255) {
      if (*(int *)(*piVar3 + 0x2d4) != 0) {
        if (iVar1 < piVar3[2]) {
          return *(int *)(*(int *)(piVar3[3] + iVar1 * 4) + 0x2c);
        }
        goto LAB_00059228;
      }
      goto LAB_00059248;
    }
  }
  pcVar10 = *(code **)(UNRECOVERED_JUMPTABLE + 0x350488);
  piVar3 = (int *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x3764);
  (*pcVar10)(piVar3,*(int *)(UNRECOVERED_JUMPTABLE + 0x34f760) + 0x370c,0x15c,iVar6 + 0x3a7c);
  if (piVar3 != (int *)0x0) {
    if (piVar3[5] == -0x54535255) {
      iVar1 = *piVar3;
      if (piVar3[4] != 0) {
        (**(code **)(pcVar10 + 0x34ff5c))
                  (0x8000,*(int *)(pcVar10 + 0x34f65c) + 0x370c,
                   *(int *)(pcVar10 + 0x34f65c) + 0x3a2c,0x1a3,
                   *(int *)(pcVar10 + 0x34f660) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x35762c);
        iVar1 = *piVar3;
      }
      iVar1 = FUN_00055e5c(*(undefined4 *)(iVar1 + 0x2d4));
      return iVar1;
    }
    (**(code **)(pcVar10 + 0x350384))
              (*(int *)(pcVar10 + 0x34f65c) + 0x3764,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a1,
               *(int *)(pcVar10 + 0x34f65c) + 0x3a44);
  }
  pcVar11 = *(code **)(pcVar10 + 0x350384);
  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f65c) + 0x3740);
  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f65c) + 0x370c,0x1a0,
             *(int *)(pcVar10 + 0x34f65c) + 0x3a44);
  iVar1 = (**(code **)(pcVar11 + 0x3501a8))();
  if (piVar3 == (int *)0x0) {
LAB_00059458:
    puVar7 = &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580);
    (**(code **)(pcVar11 + 0x3502a8))
              (*(int *)(pcVar11 + 0x34f580) + 0x3740,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c8,
               puVar7);
LAB_0005947c:
    puVar7 = &DAT_00003a18 + (int)puVar7;
    (**(code **)(pcVar11 + 0x3502a8))
              (*(int *)(pcVar11 + 0x34f580) + 0x3794,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1ce,
               puVar7);
  }
  else {
    if (piVar3[5] != -0x54535255) {
      (**(code **)(pcVar11 + 0x3502a8))
                (*(int *)(pcVar11 + 0x34f580) + 0x3764,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1c9,
                 &DAT_00003a18 + *(int *)(pcVar11 + 0x34f580));
      goto LAB_00059458;
    }
    iVar6 = *piVar3;
    if (piVar3[4] != 0) {
      (**(code **)(pcVar11 + 0x34fe80))
                (0x8000,*(int *)(pcVar11 + 0x34f580) + 0x370c,*(int *)(pcVar11 + 0x34f580) + 0x3a04,
                 0x1cb,*(int *)(pcVar11 + 0x34f584) + -0x62ac,iVar6 + 0x340);
      iVar6 = *piVar3;
    }
    puVar7 = *(undefined1 **)(pcVar11 + 0x34f580);
    if (*(int *)(iVar6 + 0x2d4) != 0) {
      if (iVar1 < piVar3[2]) {
        iVar1 = FUN_000560d0(*(int *)(iVar6 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4));
        return iVar1;
      }
      goto LAB_0005947c;
    }
  }
  pcVar10 = *(code **)(pcVar11 + 0x3502a8);
  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f580) + 0x37bc);
  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f580) + 0x370c,0x1cd,&DAT_00003a18 + (int)puVar7);
  if (piVar3 != (int *)0x0) {
    if (piVar3[5] == -0x54535255) {
      iVar1 = *piVar3;
      if (piVar3[4] != 0) {
        (**(code **)(pcVar10 + 0x34fd24))
                  (0x8000,*(int *)(pcVar10 + 0x34f424) + 0x370c,
                   *(int *)(pcVar10 + 0x34f424) + 0x39dc,0x1ef,
                   *(int *)(pcVar10 + 0x34f428) + -0x62ac,iVar1 + 0x340,pcVar10 + 0x3573f4);
        iVar1 = *piVar3;
      }
      return iVar1;
    }
    (**(code **)(pcVar10 + 0x35014c))
              (*(int *)(pcVar10 + 0x34f424) + 0x3764,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ed,
               *(int *)(pcVar10 + 0x34f424) + 0x39f0);
  }
  pcVar11 = *(code **)(pcVar10 + 0x35014c);
  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f424) + 0x3740);
  (*pcVar11)(piVar3,*(int *)(pcVar10 + 0x34f424) + 0x370c,0x1ec,
             *(int *)(pcVar10 + 0x34f424) + 0x39f0);
  if (piVar3 != (int *)0x0) {
    if (piVar3[5] == -0x54535255) {
      iVar1 = *piVar3;
      if (piVar3[4] != 0) {
        (**(code **)(pcVar11 + 0x34fc54))
                  (0x8000,*(int *)(pcVar11 + 0x34f354) + 0x370c,
                   *(int *)(pcVar11 + 0x34f354) + 0x39a4,0x210,
                   *(int *)(pcVar11 + 0x34f358) + -0x62ac,iVar1 + 0x340,pcVar11 + 0x357324);
        iVar1 = *piVar3;
      }
      iVar1 = FUN_0005648c(*(undefined4 *)(iVar1 + 0x2d4));
      return iVar1;
    }
    (**(code **)(pcVar11 + 0x35007c))
              (*(int *)(pcVar11 + 0x34f354) + 0x3764,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20e,
               *(int *)(pcVar11 + 0x34f354) + 0x39c0);
  }
  pcVar10 = *(code **)(pcVar11 + 0x35007c);
  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f354) + 0x3740);
  (*pcVar10)(piVar3,*(int *)(pcVar11 + 0x34f354) + 0x370c,0x20d,
             *(int *)(pcVar11 + 0x34f354) + 0x39c0);
  iVar1 = (**(code **)(pcVar10 + 0x34fea0))();
  if (piVar3 == (int *)0x0) {
    iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x3984;
    (**(code **)(pcVar10 + 0x34ffa0))
              (*(int *)(pcVar10 + 0x34f278) + 0x37e8,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x237);
LAB_00059710:
    iVar6 = iVar6 + 0x3984;
    (**(code **)(pcVar10 + 0x34ffa0))
              (*(int *)(pcVar10 + 0x34f278) + 0x3794,*(int *)(pcVar10 + 0x34f278) + 0x370c,0x23a);
  }
  else {
    iVar6 = *(int *)(pcVar10 + 0x34f278);
    if (piVar3[5] != -0x54535255) goto LAB_0005974c;
    if (*(int *)(*piVar3 + 0x2d4) != 0) {
      if (iVar1 < piVar3[2]) {
        iVar1 = FUN_000567dc(*(int *)(*piVar3 + 0x2d4),*(undefined4 *)(piVar3[3] + iVar1 * 4),0x239)
        ;
        return iVar1;
      }
      goto LAB_00059710;
    }
  }
  iVar6 = iVar6 + 0x3984;
  (**(code **)(pcVar10 + 0x34ffa0))
            (*(int *)(pcVar10 + 0x34f278) + 0x37bc,*(int *)(pcVar10 + 0x34f278) + 0x370c);
LAB_0005974c:
  uVar5 = 0x238;
  pcVar11 = *(code **)(pcVar10 + 0x34ffa0);
  pfVar8 = (float *)(iVar6 + 0x3984);
  iVar6 = *(int *)(pcVar10 + 0x34f278) + 0x370c;
  piVar3 = (int *)(*(int *)(pcVar10 + 0x34f278) + 0x3764);
  (*pcVar11)();
  iVar1 = (**(code **)(pcVar11 + 0x34fd9c))();
  if (piVar3 != (int *)0x0) {
    iVar9 = *(int *)(pcVar11 + 0x34f174);
    if (piVar3[5] == -0x54535255) {
      if (iVar1 < piVar3[2]) {
        (**(code **)(pcVar11 + 0x34ff68))(pfVar8,0,0x100);
        pfVar2 = (float *)(**(code **)(pcVar11 + 0x34f2a8))
                                    (*piVar3,iVar6,uVar5,1,1,*(undefined4 *)(piVar3[3] + iVar1 * 4),
                                     pcVar10 + 0x357248);
        iVar1 = *piVar3;
        if (pfVar2 == (float *)0x0) {
          dVar16 = *(double *)(iVar1 + 0xc0);
          dVar15 = *(double *)(iVar1 + 200);
          dVar14 = *(double *)(iVar1 + 0xd0);
          dVar12 = *(double *)(iVar1 + 0xb0);
          pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);
          pfVar8[2] = (float)dVar16;
          pfVar8[3] = (float)dVar15;
          pfVar8[4] = (float)dVar14;
          *pfVar8 = (float)dVar12;
          return 0;
        }
        if (0 < *(int *)(iVar1 + 0x2c0)) {
          piVar3 = *(int **)(iVar1 + 0x2d0);
          pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);
          do {
            fVar13 = *pfVar2;
            pfVar2 = pfVar2 + 1;
            iVar1 = *piVar3;
            piVar3 = piVar3 + 3;
            pfVar8[iVar1] = fVar13;
          } while (pfVar2 != pfVar4);
        }
        return 1;
      }
      iVar9 = iVar9 + 0x3928;
      (**(code **)(pcVar11 + 0x34fe9c))
                (*(int *)(pcVar11 + 0x34f174) + 0x3794,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cc,
                 iVar9);
    }
    (**(code **)(pcVar11 + 0x34fe9c))
              (*(int *)(pcVar11 + 0x34f174) + 0x3764,*(int *)(pcVar11 + 0x34f174) + 0x370c,0x2cb,
               iVar9 + 0x3928);
  }
  uVar5 = 0x2ca;
  pcVar10 = *(code **)(pcVar11 + 0x34fe9c);
  pfVar8 = (float *)(*(int *)(pcVar11 + 0x34f174) + 0x3928);
  iVar6 = *(int *)(pcVar11 + 0x34f174) + 0x370c;
  piVar3 = (int *)(*(int *)(pcVar11 + 0x34f174) + 0x3740);
  (*pcVar10)(piVar3,iVar6,0x2ca);
  iVar1 = (**(code **)(pcVar10 + 0x34fbb0))();
  if (piVar3 == (int *)0x0) {
    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))
                      (*(int *)(pcVar10 + 0x34ef88) + 0x3740,*(int *)(pcVar10 + 0x34ef88) + 0x370c,
                       0x312,*(int *)(pcVar10 + 0x34ef88) + 0x390c);
    return iVar1;
  }
  if (piVar3[5] != -0x54535255) {
    iVar1 = (**(code **)(pcVar10 + 0x34fcb0))
                      (*(int *)(pcVar10 + 0x34ef88) + 0x3764,*(int *)(pcVar10 + 0x34ef88) + 0x370c,
                       0x313,*(int *)(pcVar10 + 0x34ef88) + 0x390c);
    return iVar1;
  }
  if (iVar1 < piVar3[2]) {
    (**(code **)(pcVar10 + 0x34fd7c))(pfVar8,0,0x100);
    pfVar2 = (float *)(**(code **)(pcVar10 + 0x34f0ac))
                                (*piVar3,piVar3[1],iVar6,uVar5,1,1,
                                 *(undefined4 *)(piVar3[3] + iVar1 * 4),in_stack_fffffec0);
    iVar1 = *piVar3;
    if (pfVar2 == (float *)0x0) {
      dVar16 = *(double *)(iVar1 + 0xc0);
      dVar15 = *(double *)(iVar1 + 200);
      dVar14 = *(double *)(iVar1 + 0xd0);
      dVar12 = *(double *)(iVar1 + 0xb0);
      pfVar8[1] = (float)*(double *)(iVar1 + 0xb8);
      pfVar8[2] = (float)dVar16;
      pfVar8[3] = (float)dVar15;
      pfVar8[4] = (float)dVar14;
      *pfVar8 = (float)dVar12;
      return 0;
    }
    if (0 < *(int *)(iVar1 + 0x2c0)) {
      piVar3 = *(int **)(iVar1 + 0x2d0);
      pfVar4 = pfVar2 + *(int *)(iVar1 + 0x2c0);
      do {
        fVar13 = *pfVar2;
        pfVar2 = pfVar2 + 1;
        iVar1 = *piVar3;
        piVar3 = piVar3 + 3;
        pfVar8[iVar1] = fVar13;
      } while (pfVar2 != pfVar4);
    }
    return 1;
  }
  iVar1 = (**(code **)(pcVar10 + 0x34fcb0))
                    (*(int *)(pcVar10 + 0x34ef88) + 0x3794,*(int *)(pcVar10 + 0x34ef88) + 0x370c,
                     0x314,*(int *)(pcVar10 + 0x34ef88) + 0x390c);
  return iVar1;
}

